I have got it working well now, using the AuditTrail module from Microsoft.
Select Case C.ControlType
Case acTextBox, acComboBox, acListBox, acOptionGroup
' Skip Updates field.
If C.Name <> "tempUpdates" Then
' If control was previously Null, record "previous
' value was blank."
'If IsNull(C.Value) Or C.Value = "" <> C.OldValue Then
If IsNull(C.OldValue) Or C.OldValue = "" Then
'MyForm!tempUpdates = MyForm!tempUpdates & Chr(13) & _
Chr(10) & C.Name & " was - To (" & C.Value & ")"
' If control had previous value, record previous value.
ElseIf IIf(IsNull(C.Value), "", C.Value) <> C.OldValue Then
MyForm!tempUpdates = MyForm!tempUpdates & Chr(13) & Chr(10) & _
C.Name & " - Changed from (" & C.OldValue & ") - To (" & Nz(C.Value, "-") & ")"
'MyForm!tempUpdates = Chr(13) & Chr(10) & _
C.Name & "Prev Value was " & C.OldValue & " - New Value IS " & Nz(C.Value, "NoNe")
End If
End If
End Select
Next C
The first part of the
If IsNull(C.OldValue) Or C.OldValue = "" Then
'MyForm!tempUpdates = MyForm!tempUpdates & Chr(13) & _
Chr(10) & C.Name & " was - To (" & C.Value & ")"
is ok, but I dont want it to report every field thats blank.
I would like it to show only the controls that have been changed.. JUST LIKE the
elseif IIF part... the only problem, if a field is null, its not showing that it was changed
Code:
If IsNull(C.OldValue) Or C.OldValue = "" Then
'MyForm!tempUpdates = MyForm!tempUpdates & Chr(13) & _
Chr(10) & C.Name & " was - To (" & C.Value & ")"
' If control had previous value, record previous value.
ElseIf IIf(IsNull(C.Value), "", C.Value) <> C.OldValue Then
MyForm!tempUpdates = MyForm!tempUpdates & Chr(13) & Chr(10) & _
C.Name & " - Changed from (" & C.OldValue & ") - To (" & Nz(C.Value, "-") & ")"
'MyForm!tempUpdates = Chr(13) & Chr(10) & _
C.Name & "Prev Value was " & C.OldValue & " - New Value IS " & Nz(C.Value, "NoNe")
End If
Hope i'm clear with my question lol, got an enormous black eye and cant read too well
Hope u can help
Thx
Darin