ADO OriginalValue と UnderlyingValue プロパティ
定義と使用法
OriginalValue プロパティは、最後の Update または UpdateBatch メソッドの呼び出しの前に存在していたフィールドの値を含む variant 値を返します。
UnderlyingValue プロパティは、あるフィールドの現在の値を含む variant 値を返します。この値は他のユーザーによる変更を表示しない可能性があり、最新の値でないかもしれません。
ヒント:Fields 集合内の全ての Field オブジェクトの最新値を取得するために、Recordset オブジェクトの Resync プロパティを使用してください。
ヒント:この二つの属性を組み合わせて使用することで、一括更新時に発生する衝突を解決できます。
文法
objField.OriginalValue objField.UnderlyingValue
インスタンス
<% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.Recordset") rs.open "customers", conn set objfield=rs.fields("companyname") Some code.................. '変更の確認' rs.movefirst while rs.eof=false if objfield.OriginalValue<>objfield.UnderlyingValue then response.write("データが変更されました!<br />") response.write("元の値: ") response.write(objfield.OriginalValue & "<br />") response.write("現在の値: ") response.write(objfield.UnderlyingValue & "<br />") end if rs.movenext 次 '次のコード... rs.Close conn.close %>