The one thing which in my experience is a little tricky is that if you simply "touch" the record, it is marked as modified, even if it is equal to the original value. Anything that VFP might interpret as a modification. The point is that VFP keeps track of which records were modified, and a modified record will remain modified, until you TableUpdate() or TableRevert().
For example:
REPLACE Field1 with Field1
or:
The user types a character, then presses BackSpace
will both mark the record as "modified". If this is a problem for you, you can use GetNextModified() to quickly find "suspect" records; but for further analysis, you can compare Field with OldVal(Field) for each field in the record.
>I want to make sure I understand. If SetFldState is not used and a field value has not been changed (or changed back) and the deleted flag has not been toggled, GetNextModified will return zero? Always? No exceptions?
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)