Ereignisse in Formularen, Teil 1: Reihenfolge

Wenn Sie Formulare automatisieren möchten, um beispielsweise beim öffnen, beim Schließen, beim Wechseln oder Speichern eines Datensatzes selbst programmierte Aktionen durchzuführen, sollten Sie die wichtigsten Ereignisse von Formularen und deren Abfolge kennen. Dieser Artikel zeigt, wie Sie die Reihenfolge der Ereignisse beim öffnen und Schließen von einfachen Formularen, Formularen mit Unterformularen und gebundenen Formularen ermitteln.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1204_EreignisseInFormularen.mdb.

Ereignisse anlegen

In einigen Artikeln haben Sie bereits erfahren, wie Sie schnell ein Ereignis für ein Formular oder ein Steuerelement anlegen. Dabei öffnen Sie das Formular in der Entwurfsansicht, zeigen die Seite Ereignisse des Eigenschaftsfensters an, wählen für die gewünschte Ereigniseigenschaft den Wert [Ereignisprozedur] aus und klicken dann auf die Schaltfläche mit den drei Punkten (siehe Bild 1). Access erstellt den Rahmen der Ereignisprozedur dann automatisch und zeigt diesen im VBA-Fenster an.

Anlegen von Ereignissen von der Benutzeroberfläche aus

Bild 1: Anlegen von Ereignissen von der Benutzeroberfläche aus

Es gibt jedoch noch eine einfachere Methode. Dazu müssen Sie zumindest das Klassenmodul für das entsprechende Formular angelegt haben, was Sie entweder durch Erstellen einer Ereignisprozedur auf klassischem Wege durchführen – oder Sie stellen einfach die Eigenschaft Enthält Modul im Eigenschaftsfenster auf Ja ein. Access legt dann ein leeres Klassenmodul für das Formular an.

Wenn Sie nun beispielsweise mit der Tastenkombination Alt + F11 zum VBA-Editor wechseln und den Projekt-Explorer mit Strg + R aktivieren, finden Sie dort einen entsprechenden Eintrag vor (siehe Bild 2). Das Klassenmodul öffnen Sie mit einem Doppelklick auf den Eintrag im Projekt-Explorer.

Das Klassenmodul im Projekt-Explorer

Bild 2: Das Klassenmodul im Projekt-Explorer

Wenn Sie nun im Klassenmodul eine Ereignisprozedur für ein Ereignis anlegen möchten, das beispielsweise beim öffnen des Formulars ausgelöst wird, wählen Sie zunächst den Eintrag Form aus dem linken Kombinationsfeldes des Codefensters aus und dann den Namen des gewünschten Ereignisses aus dem rechten Kombinationsfeld (siehe Bild 3). Dies legt nicht nur die Kopf- und die Fußzeile der Prozedur an, sondern fügt auch den Wert [Ereignisprozedur] in die entsprechende Eigenschaft des Formulars ein. Auf diese Weise können Sie schnell mehrere Ereignisprozedur erstellen. Im Programmiereralltag kommt dies wahrscheinlich nicht allzu oft vor. Wenn Sie aber wie in diesem Artikel den Umgang mit Ereignisprozeduren kennenlernen wollen, kann es helfen, schnell mal ein paar Prozeduren anzulegen.

Anlegen von Ereignisprozeduren per VBA-Editor

Bild 3: Anlegen von Ereignisprozeduren per VBA-Editor

übrigens funktioniert diese Vorgehensweise zum Anlegen von Prozeduren nicht immer: Wenn Sie etwa ein Formular als modalen Dialog öffnen (also mit DoCmd.OpenForm “Formularname”, WindowMode:=acDialog), können Sie wegen des öffnungsmodus zunächst gar keine änderungen am Code vornehmen. Klicken Sie dann auf die Zurücksetzen-Schaltfläche (die mit dem Stop-Symbol), können Sie den Code bearbeiten. Das Hinzufügen einer Ereignisprozedur über die beiden Kombinationsfeld oben im Codefenster legt dann allerdings nicht automatisch den Wert [Ereignisprozedur] für die entsprechende Ereigniseigenschaft an.

Ereignisabfolge

Bevor wir uns die einzelnen Ereignisse ansehen, lernen Sie eine wichtige Technik kennen, um die Abfolge von Ereignissen zu ermitteln und um zu prüfen, ob ein Ereignis überhaupt in einem bestimmten Zusammenhang ausgelöst wird. Dazu könnten Sie zunächst einige Ereignisprozeduren zum Formular hinzufügen, die den Eindruck erwecken, dass sie beim schlichten öffnen und Schließen des Formulars ausgelöst werden.

Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar