Beitrag aus SmartTools Access Weekly
Aktuelles Datum bei Eingabe eines Wertes festhalten
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Wir setzen eine Datenbank zur Verwaltung von Proben und Analysen ein. Eine Probe wird zunächst mit dem Eingangsdatum erfasst, im Labor bearbeitet und dann, in der Regel ein, zwei Tage später, das Ergebnis sowie ein Ergebnisdatum eingetragen. Wir möchten nun am Ende des Tages für alle Probenergebnisse das Ergebnisdatum eintragen, um den Zeitaufwand bei der Erfassung zu reduzieren. Können Sie uns dazu einen Lösungsweg aufzeigen?
Diverse Anfragen
ANTWORT Am einfachsten wäre es, das Ergebnisdatum direkt bei der Eingabe des Probenergebnisses festzuhalten:
- Öffnen Sie das Formular in der Entwurfsansicht und lassen Sie das Eigenschaftenfenster anzeigen.
- Stellen Sie die Eigenschaft "Nach Aktualisierung" des Feldes für das Probenergebnis auf "[Ereignisprozedur]".
- Klicken Sie auf die Schaltfläche mit den drei Punkte hinter der Eigenschaft und geben Sie folgende Anweisungen im VBA-Editor ein:
If IsNull(Me.Ergebnisdatum) Then
Me.Ergebnisdatum = Now
End If
- Speichern Sie die Änderungen und verlassen Sie die Entwurfsansicht wieder.
Wenn nun ein Probenergebnis eingegeben und im Datensatz aktualisiert wurde, ruft Access die Ereignisprozedur "Nach Aktualisierung" dieses Feldes auf. In dieser Ereignisprozedur wird zunächst geprüft, ob das Feld "Ergebnisdatum" noch keinen Inhalt hat (IsNull) und nur dann das aktuelle Datum (Now) dort eingetragen. Diese Abfrage verhindert, dass ein bereits eingetragenes Datum bei einer späteren Korrektur geändert würde.