Datensatzänderungen im Formular anzeigen

Es bleibt nicht aus, dass bei der Bearbeitung von Formulardaten versehentlich einmal Daten überschrieben werden. Um die alten Daten wiederherstellen zu können, müsste man sie kennen. Sie werden nun nicht mehr angezeigt und sind auch endgültig weg, wenn man den Datensatz wechselt. Die nachfolgende Lösung zeigt, wie Sie ein Formular so gestalten, dass dem Benutzer nach einer Änderung des Formularfeldes der alte Wert angezeigt wird.

Wenn Sie einen neuen Wert in ein Steuerelementeingeben, speichert Access den alten Wert automatisch in der Eigenschaft OldValue des Steuerelements. Das können Sie sich zunutze machen, um dem Benutzer die Möglichkeit zu geben, die alten Werte zu sehen und bei Bedarf die Änderungen rückgängig zu machen.

Vorbereitungen und Voraussetzungen

Um das zu realisieren, genügt ein Formular, das standardmäßig in der Formularansicht angezeigt wird. Sie können es einfach mit dem Assistenten erstellen oder auch manuell erzeugen.

Neben den gebundenen Formularfeldern fügen Sie dann zusätzlich für jedes Feld, dessen vorheriger Wert dem Benutzer angezeigt werden soll, ein zusätzliches Eingabefeld mit Labelfeldzur Beschriftung ein. Idealerweise sollte das Eingabefeld den gleichen Namen wie das gebundene Feld des Formulars haben, dessen alten Wert es anzeigt. Nach dem Namen geben Sie ein einheitliches Suffix oder vor dem Namen ein einheitlichesPräfix an. Heißt das gebundene Feld beispielsweise ID, könnten Sie das einzufügendeFeld IDAlt nennen. Auf diese Weise haben Sie es wesentlich einfacher, wenn Sie den Code für größere Formulare erstellen möchten.

Damit der Benutzer in die Eingabefelder nichts eingeben kann und er auch gar nicht erst auf diese Idee kommt, sollten Sie für die Eingabefelder die Rahmen- und Füllfarbe auf Transparent setzen. Dadurch wirken sie wie Labelfelder. Zusätzlich sollten Sie noch die Eigenschaften Enabled (Aktiviert) und Visible (Sichtbar) auf False setzen. Damit die Felder dann nicht deaktiviert dargestellt werden, setzen Sie noch die Eigenschaft Gesperrt auf True.