Ever wonder why it is so difficult to figure out what the original value of a form field was after the user updates the field?
I thought that the Before Update event would help me do this but using the Me.Fieldname.Oldvalue doesn't give me the old value it gives the new value!
Here is a simple way to do this: First set up a global variable in this form just after the Option Compare Database.
In this example we dimension a string variable called hold_value.
Option Compare Database
Dim hold_value As String
Next we create an On Current event for the form:
Private Sub Form_Current()
hold_value = Me.icount
You may find that you get a null value error so you might want to use the following assignment to get around this little problem:
hold_value = Nz(Me.icount, "")
' those are two double quote marks together
Finally in the After Update event we have both the new and old values available for us to use:
Private Sub icount_AfterUpdate()
MsgBox hold_value & " " & Me.icount
It may also be useful to use this technique in the Before Update event... in case you want to do some validation checking before the value is saved to the database.