Database Calculations

Current Value vs. Previous Field Value Database Calculation

Compare original value of field to new value of field in the after update event

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
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… in case you want to do some validation checking before the value is saved to the database.

Visual Basic Tutorials:

Access-Google Earth Age Calculation Change To Proper Case Email via Gmail #1
Send Gmail Email #2 Inactivity Logout Code Outlook Email Read Email Access
Email Attachment Send Outlook Email Running Sum Denormalize Records
Stock Quotes CreateQueryDef Find Database Path Detail-Master Update
Data Field Validation Field Value New-Old FindFirst Access Version
Global Variable Parameter Global Variables Active Labels Files List Box
Mail Merge Quick Sort Select Case Access Transactions