Carl:
If I understand what you are trying to accomplish, you can use an access/assign design. I've created properties called "fieldname" and "conversion" for all textboxes. Conversion has an access & an assign method. When the value in the table is different from what is to be entered or displayed in the textbox, I put "this.conversion" into the controlsource. In the Conversion.access, I convert the table value to what is to be displayed. In Conversion.assign, I convert it back. In the assign method, you need to make certain that you compare the current value of the textbox with the current value in the table. Don't do a replace if they are the same. VFP isn't smart enough to realize that you are replacing the old value with it's self and it indicates that the field has been changed and in our framework, advises the user that they have unsaved changes.
HTH
Mike