ADO OriginalValue and UnderlyingValue Properties

Definition and Usage

The OriginalValue property can return a variant value that contains the field value that existed before the last Update or UpdateBatch method call.

The UnderlyingValue property can return a variant value that contains the current value of a field. This value does not necessarily reflect changes made by other users and may not be the most up-to-date value.

Tip:Please use the Resync property of the Recordset object to obtain the latest values of all Field objects in the Fields collection.

Tip:These two properties can be used together to resolve conflicts that may occur during batch updates.

Syntax

objField.OriginalValue
objField.UnderlyingValue

Instance

<%
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..................
'Check for changes
rs.movefirst
while rs.eof=false
  if objfield.OriginalValue<>objfield.UnderlyingValue then
    response.write("Data has changed!<br />")
    response.write("Original value: ")
    response.write(objfield.OriginalValue & "<br />")
    response.write("Current value: ")
    response.write(objfield.UnderlyingValue & "<br />")
  end if
  rs.movenext
next
'More code...................
rs.Close
conn.close
%>