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
%>