I wouldn't know how to do this in a macro - short of creating a macro for
each control in the form - I don't deal with macro's too much since
everything a macro can do, can be done using VBA and it's performed much
quicker in VBA.
If I were wanting to track each and every field that were changed - and only
those fields, then I would set up global variables in the form's VBA module,
and declare them as boolean (or integar, since true = 1 and false = 0
anyways), and in each form controls 'on change' event, set the variable to
true. Then when the record is saved (before update or after, I don't think
it matters in this case) you can run through the variables you declared and
append all the true ones to your tracking table.