Access 7.0:
Automatisches Erfassungs- und ─nderungsdatum in Formularen

Ein altbekanntes Problem: Sie m÷chten in einem Datenbank-Formular festhalten, wann ein Datensatz angelegt und wann er zuletzt geΣndert wurde. Das ist prinzipiell kein Problem, denn Sie mⁿssen nur ein Datumsfeld einfⁿgen, das bei jeder ─nderung des Datensatzes aktualisiert wird. Nur wie stellen Sie fest, ob es sich um einen neuen oder um einen geΣnderten Datensatz handelt?
Die L÷sung fⁿr diese uneindeutige Angabe sind zwei getrennte Felder fⁿr Erfassungs- und ─nderungsdatum und eine kleine Ereignisprozedur. Legen Sie in einem Formular, in dem Sie diese beiden Daten erfassen wollen, zunΣchst die beiden Felder »Erfdat« fⁿr das Erfassungsdatum und »AendDat« fⁿr das ─nderungsdatum an. Mit einem Klick auf »Entwurf« ÷ffnen Sie dieses Formular in der Entwurfsansicht und wΣhlen nach einem rechten Mausklick auf die quadratische FlΣche in der linken oberen Ecke des Formulars »Eigenschaften«.
Wechseln Sie zum Register »Ereignis« und wΣhlen Sie im Feld »Vor Aktualisierung« den Eintrag »Ereignisprozedur«. ▄ber einen Mausklick auf die kleine SchaltflΣche mit den drei Punkten gelangen Sie in den Editor, in dem Sie das im Kasten abgedruckte Listing eintippen. Das Makro ⁿberprⁿft, ob es sich um einen neuen Datensatz handelt. Ist das der Fall ist, wird das aktuelle Datum in das Feld »ErfDat« eingetragen. Andernfalls erscheint es in »AendDat«.
Speichern Sie anschlie▀end das Formular und wechseln Sie in die »Formularansicht«. Wenn Sie jetzt einen neuen Datensatz anlegen, erscheint das aktuelle Datum in dem Feld mit dem Erfassungsdatum, Σndern Sie einen bestehenden Datensatz, wird das Feld mit dem Datum der letzten ─nderung aktualisiert.
Makrolisting Neuanlage oder ─nderung:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord = True Then
Me!ErfDat = Date
Else
Me!AendDat = Date
End If
End Sub