I did figure out a shorter way to do what I need, but it still does not work
when controls are on a subform.
Here's what works when it's the main form:
Private Sub Field1_BeforeUpdate(Cancel As Integer)
Forms!form1!Updates = Chr(13) & Chr(10) & "Change made on " & Date & " " &
Time & " by " & CurrentUser() & "; " & "Previous value was '" &
Forms!form1!Field1.OldValue & "'. " & Forms!form1!Updates.OldValue
End Sub
This works great until 'form1' becomes a subform. When it's a subform,
either Access can't find the form, or can't find the control 'field1'.
For what I'm using this for, I do need to know exactly what a filed was
changed from, when and by whom. A projection report based off of this field
uses last months numbers, but the records hold current information. I need to
be able to look back and see if a record had been changed since last months
report, what it was changed from, and compare it to what the current value is.
There will likely be only 1 or 2 changes made to a handfull of records over
the course of a month, and seeing a spike in the number of changes being made
may also flag a user not understanding the workflow.