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 EarthAge CalculationChange To Proper CaseEmail via Gmail #1
Send Gmail Email #2Inactivity Logout CodeOutlook EmailRead Email Access
Email AttachmentSend Outlook EmailRunning SumDenormalize Records
Stock QuotesCreateQueryDefFind Database PathDetail-Master Update
Data Field ValidationField Value New-OldFindFirstAccess Version
Global Variable ParameterGlobal VariablesActive LabelsFiles List Box
Mail MergeQuick SortSelect CaseAccess Transactions