Hmmmm.... Well, I guess one way would be to create a temp-table like your real table, buffer-copy the contents of the table BEFORE the change into the temp-table, then when they click the button, do a buffer-compare between the temp-table and the real table to see what has changed, then display those changes in the report.
You can also compare the values in the screen-buffer to what's in the database BEFORE you comit the changes and if there are differences then write those to your report. This way you don't have to use a temp-table - unless you're wanting to collect changes to several records then report all of those changes at the same time.
Hope that helps!
Rich