Propiedades OriginalValue y UnderlyingValue de ADO

Definición y uso

La propiedad OriginalValue devuelve un valor variant que contiene el valor del campo que existía antes de la última llamada a Update o UpdateBatch.

La propiedad UnderlyingValue devuelve un valor variant que contiene el valor actual de un campo. Este valor no mostrará necesariamente los cambios causados por otros usuarios y puede no ser el valor más reciente.

Consejo:Utilice la propiedad Resync del objeto Recordset para obtener los valores más recientes de todos los objetos Field en la colección Fields.

Consejo:Estas propiedades pueden utilizarse juntas para resolver conflictos que puedan surgir durante la actualización por lotes.

Sintaxis

objField.OriginalValue
objField.UnderlyingValue

Ejemplo

<%
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")
Algun código..................
'Revisa los cambios'
rs.movefirst
while rs.eof=false
  if objfield.OriginalValue<>objfield.UnderlyingValue then
    response.write("Los datos han cambiado!<br />")
    response.write("Valor original: ")
    response.write(objfield.OriginalValue & "<br />")
    response.write("Valor actual: ")
    response.write(objfield.UnderlyingValue & "<br />")
  end if
  rs.movenext
next
'Más código...................
rs.Close
conn.close
%>