Timestamp-Felder in Access nachbilden

Aufruf der Testfunktion

Diese Funktion müssen Sie jetzt natürlich aufrufen. In den bisher genutzten Ereignissen geht das nicht, weil das Change-Ereignis ja auch eintritt, wenn der Benutzer den alten Wert des Feldes wiederherstellt. Das würde dazu führen, dass das Timestamp-Feld schon geändert wird, bevor der Benutzer die Eingabe rückgängig machen kann.

Sie müssen sich also mit einem Ereignis behelfen, das erst eintritt, bevor die Daten in die Datenbank geschrieben werden. Passend ist dafür das Ereignis BeforeUpdate (Vor Aktualisierung) des Formulars. In der Ereignisprozedur für dieses Ereignis rufen Sie die Funktion boolGeaendert auf und übergeben ihr alle Steuerelemente, die Daten enthalten, als Parameterarray. Liefert die Funktion True zurück, setzen Sie das Timestamp-Feld. (hs/mha)

Private Sub Form_BeforeUpdate(Cancel As Integer)
If boolGeaendert(Me.Nachname, Me.Vorname, Me.ID) Then
Me.Timestamp.Value = Now
End If
End Sub

Helma Spona <hs> studierte Wirtschaftswissenschaft mit Schwerpunkt Betriebsinformatik und eröffnete nach Abschluss ihres Studiums 1996 eine EDV-Beratung in Kerken, die sich auf Datenbankentwicklung und Webdesign spezialisiert hat. Außerdem schreibt sie regelmäßig Beiträge für verschiedene Zeitschriften sowie Bücher zu Programmier- und Datenbankthemen. Sie können sie über ihre Website erreichen.