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
Private Sub Command4_Click() ' this line is not part of this example
Next we create an On Current event for the form:
Private Sub Form_Current()
hold_value = Me.icount
End Sub
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
End Sub
It may also be useful to use this technique in the Before Update event... incase you want to do some validation checking before the value is saved to the database.