Sniper-BoOyA-
Registered User.
- Local time
- Yesterday, 18:06
- Joined
- Jun 15, 2010
- Messages
- 204
Hey there again,
I have a pretty simple question, just cant find a working solution.
As you might remember i made a function to audit changes. When a change is being made, it checks if the active.control is empty, if it isnt it displays a inputbox to ask for the reason.
Works perfect, but i want to finetune it a little bit, to the point where if the user clicks on cancel (inputbox) it stops the procedure and undo's the change that has been made.
Is this possible, if yes, whats the best approach?
To give you a better idea, this is the VBA code of the function:
I have a pretty simple question, just cant find a working solution.
As you might remember i made a function to audit changes. When a change is being made, it checks if the active.control is empty, if it isnt it displays a inputbox to ask for the reason.
Works perfect, but i want to finetune it a little bit, to the point where if the user clicks on cancel (inputbox) it stops the procedure and undo's the change that has been made.
Is this possible, if yes, whats the best approach?
To give you a better idea, this is the VBA code of the function:
Code:
Public Function TrackChanges()
Dim db As Database
Dim rs As Recordset
Dim strSQL As String
Dim strCtl As String
Dim strReason As String
Form_ActivityMonitor.LastAction = Now()
If Not Screen.ActiveControl.OldValue = Empty Then
strReason = InputBox("Wat is de reden voor deze wijziging? (Max 40 tekens)")
End If
strCtl = Screen.ActiveControl.Name
strSQL = "SELECT Audit.* FROM Audit;"
Set db = CurrentDb()
Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)
If rs.RecordCount > 0 Then rs.MoveLast
With rs
.AddNew
rs!FormName = Screen.ActiveForm.Name
rs!Veldnaam = strCtl
rs!datum = Date
rs!Tijd = Time()
rs!OudeWaarde = Screen.ActiveControl.OldValue
rs!NieuweWaarde = Screen.ActiveControl.Value
rs!Gebruiker = fOSUserName
rs!LoggedIn = CurrentUser()
rs!Computer = FindComputerName
rs!Reason = strReason
.Update
End With
Set db = Nothing
Set rs = Nothing
End Function