Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Erstellungs- und Änderungsdatum pflegen

In vielen Fällen ist interessant, wann ein Datensatz angelegt oder geändert wurde beziehungsweise wie aktuell er ist. Im vorliegenden Beitrag erfahren Sie, wie Sie sowohl das Anlege- als auch das Änderungsdatum eines Datensatzes pflegen.

Anlegedatum mit Date()

Der leichtere Teil ist das Anlegedatum. Um ein solches zu pflegen, müssen Sie einfach ein Datumsfeld zu der gewünschten Tabelle hinzufügen und es mit einem sinnvollen Namen versehen - etwa 'AngelegtAm' oder 'Erstellungsdatum'. Wenn Sie nun noch in das Feld 'Standardwert' den Ausdruck '=Datum()' eintragen, legt Access für jeden neuen Datensatz automatisch das Anlegedatum an.

Änderungsdatum per Ereignisprozedur

Ein wenig schwieriger ist es, das Änderungsdatum eines Datensatzes zu pflegen. Das Problem ist, dass es unter Access kein Ereignis gibt, dass beim Ändern eines Datensatzes direkt in einer Tabelle ausgelöst wird.

Beim SQL Server könnte man einen sogenannten Trigger programmieren, der bei jeder Aktualisierung des Datensatzes ausgelöst wird und das Änderungsdatum in ein entsprechendes Feld einträgt.

Da es unter Access keine Trigger gibt, ist ein kleiner Umweg gefragt: Dabei geht man davon aus, dass Benutzer Änderungen an den Daten nie direkt in der Tabelle, sondern nur über Formulare vornehmen.

Und dort gibt es das gewünschte Ereignis: Es heißt Vor Aktualisierung und wird vor dem Speichern der an einem Datensatz vorgehommenen Änderung durchgeführt.

Gehen Sie folgendermaßen vor, um ein Formular mit einer Funktion zum Aktualisieren des Änderungsdatums zu versehen:

  1. Legen Sie in der betroffenen Tabelle ein Feld namens GeaendertAm an.
  2. Öffnen Sie das Formular in der Entwurfsansicht.
  3. Aktivieren Sie mit der Taste F2 das Eigenschaftsfenster und wählen Sie im oben befindlichen Kombinationsfeld den Eintrag Formular aus.
  4. Klicken Sie auf der Registerseite Ereignis doppelt auf das Feld Vor Aktualisierung. Wenn der Eintrag [Ereignisprozedur] erschienen ist, betätigen Sie die Schaltfläche mit den drei Punkten.
  5. Ergänzen Sie die im VBA-Editor angezeigte Prozedur wie folgt:

Private Sub Form_BeforeUpdate(Cancel As Integer)

    Me!GeaendertAm = Date

End Sub

Fertig! Die Tabelle erhält nun bei jeder Änderung einen neuen Eintrag im Feld GeaendertAm.

© 2003-2015 André Minhorst Alle Rechte vorbehalten.