Question:
Is there a way to programmatically reset the status of a record in an ADO 2.1 recordset? For example, I would like to change the status of a record from adRecModified to adRecNotModified, but without reverting the field values to the original values.
Answer:
I don’t believe it’s possible, because a recordset stores three values for each field: Value, OriginalValue, and Underlying Value.
The Value is what you what you read and change. The OriginalValue is the value that was initially retrieved from the database. UnderlyingValue is what the recordset thinks is currently in the database. The Resync method (used with adResyncUnderlyingValues) refreshes the UnderlyingValue. However, I don’t know of a way of refreshing the OriginalValue without wiping out any changes.