Subject: Recordset.Field.Orginal value is not working

Problem description:
I have to incorporate Change log functionality in VB6. Change log means we need to store the old, new values present in the record (before save and after save). In our application, we are using Infragistics Ultragrid with Recordset for displaying records. But while saving we read the data from the recordset and based on a status field, we call the Database Stored procedure to either insert, update or delete a record into the database.

Problem here is if I am trying to use the field property of original or underlying value for old value it is showing only the new value which is present currently in the recordset.

For, e.g. a table has a id,code, description field and I am updating a row
For that row in database,
id=10 (primary key), code=eng, description=english
after editing,
code=enl, description=english(US)
Now the old values new values for my change log will be:
field Old value new value
code eng enl
description english english(US)