Es gibt eine weitere Aufgabe, für die es bisher noch keine Lösung gibt. Dabei geht es darum, vor dem Speichern eines Datensatzes zu prüfen, ob alle Felder gültige Werte enthalten. Auch die Prüfung auf Abhängigkeiten zwischen den einzelnen Feldern ist hier zu nennen.
Normalerweise würde diese Prüfung beim Klick auf den Speichern-Button ausgelöst. Dieser Button enthält aber keinen Code. Statt dessen wird in der Klasse "cls_DataBinder" auf das Klick-Ereinis dieses Buttons reagiert.
VBA-Code für die Validierung der Formulardaten hier einzufügen verbietet sich von selbst, da diese Klasse von allen gebundenen Formularen verwendet wird.
Die Lösung für dieses Problem liegt darin, im VBA-Code des Formulars eine Property bereitzustellen, die die Validierung vornimmt. Aus der Klasse "cls_DataBinder" wird dann diese Property vor dem Speichern abgefragt.
Der Aufruf wird in einer eigenen Methode gekapselt. Dort wird mittels On Error Resume Next der auftretende Fehler ignoriert, wenn ein Formular die Property für die Validierung nicht implementiert hat.
Der Code für den Speichern-Button wird wie folgt ergänzt:
Die Methode "IsFormDataValid" wird wie folgt implementiert:
Im VBA-Code des Formulars ist bei Bedarf eine Property mit dem Namen "IsFormDataValid" zum implementieren. Eine solche Property könnte beispielhaft so aussehen:
Eine Beispieldatenbank steht hier zum Download bereit:
Für Access 2000 / 2002 / 2003 / 2007 / 2010