hallo gemeinde,
wie sollte es sonst sein ich hab mal wieder ne frage an alle.
Habe einen audittrail gefunden und umgeändert und funktioniert blendend jedoch würde ich gerne haben, dass er mir auch noch die id des datensatzes und den formularname angibt.
Option Compare Database
Option Explicit
Private Sub Delete_Click()
DoCmd.SetWarnings False
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
End Sub
Private Sub Ende_Click()
DoCmd.Quit
End Sub
Private Sub RecordChanges(DeleteRecord As Boolean)
Dim C As Control, T As String, FO As String, FN As String, AdressID As String
’ dies ist nur ein Beispiel - speziell die Handhabung der NULL-Werte kann man
’ natürlich auch ganz anders gestalten!
For Each C In Me.Controls
T = „“
On Error Resume Next
T = C.ControlSource
On Error GoTo 0
If T „“ Then
If DeleteRecord Then
FO = Left(Nz(C.Value, „“), 255)
If FO = „“ Then
FO = „“
FN = „“
Else
FN = „“
End If
Else
FO = Left(Nz(C.OldValue, „“), 255)
If FO = „“ Then FO = „“
FN = Left(Nz(C.Value, „“), 255)
If FN = „“ Then FN = „“
End If
If FN FO Then
CurrentDb.Execute „INSERT INTO tblAuditTrail (FieldName, OldValue, NewValue, DateOfChange, user) " & _
" VALUES (’“ & C.Name & „’,’“ & FO & „’,’“ & FN & „’,Now(),’“ & CurrentUser & „’)“
End If
End If
Next C
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
RecordChanges False
End Sub
Private Sub Form_Delete(Cancel As Integer)
RecordChanges True
End Sub
Private Sub ShowAT_Click()
DoCmd.OpenForm „frmAuditTrail“
End Sub
Private Sub Speichern_Click()
DoCmd.RunCommand acCmdSaveRecord
End Sub
danke im voraus