Ereignisse in Access ◦ Zusammenfassung ◦ ?

Wenn ein Entwickler ein Formular, einen Bericht oder ein Steuerelement (zum Beispiel ein Listenfeld oder eine Schaltfläche) zeichnet, dann überlegt er sich, wie der künftige Benutzer auf deren Ereignisse reagiert. Neben einer Benutzeraktion kann ein Ereignis auch Programmcode oder eine Systemaktion sein. Ein Ereignis kann der Entwickler mit einer VBA-Prozedur beantworten. Diese Ereignisprozedur ist Teil der Objektdefinition. Ihr Programmcode wird deshalb erst nach dem Aufruf des Objekts (zum Beispiel des Formulars) in den Arbeitsspeicher geladen.

Die Eigenschaftenliste eines Objekts (»Alt/Eingabetaste mit dem Fokus auf dem Objekt) nennt die Ereignisse, die für das Objekt vordefiniert sind:

Oft ist die Zahl der angebotenen Ereignisse gross und es ist nicht klar, welches Ereignis welche Aufgabe erfüllt. Hilfe erhalten Sie unter Access, wenn Sie in der Eigenschaftenliste den Cursor auf ein Ereignis setzen und »F1 drücken.

Die Aufgabe des Entwicklers beschränkt sich im wesentlichen auf die Programmierung von Antworten auf Ereignisse. Testverwaltung.mdb enthält im Codemodul von FrmAllgemeines zum Beispiel die folgenden Ereignisse und Antworten auf Ereignisse (Ereignisprozeduren oder event handlers):

Objekt | Ereignis | Ereignisprozedur
BtnTestauswahl | Click | BtnTestauswahl_Click
LstOLE | MouseDown | LstOLE_MouseDown

#### Beispiel BtnTestauswahl

Die Ereignisprozedur BtnTestauswahl_Click antwortet auf das Ereignis Click auf das Objekts BtnTestauswahl (Button mit der Beschriftung Testauswahl). BtnTestauswahl_Click ist eine private VBA-Subroutine, welche das Formular FrmTestauswahl öffnet und in voller Grösse anzeigt:

>     Private Sub BtnTestauswahl_Click()
>       DoCmd.OpenForm "FrmTestauswahl"
>       DoCmd.Maximize
>     End Sub

Der fett geschriebene Code - das Ereignisprozedurskelett - ist von Access automatisch generiert worden, nachdem der Entwickler in der Eigenschaftenliste von BtnTestauswahl das Ereignis »Beim Klicken gewählt hat:

#### Beispiel LstOLE

Die Ereignisprozedur LstOLE_MouseDown beantwortet das Ereignis MouseDown des Objekts LstOLE (Listenelement mit der Überschrift OLE). LstOLE_MouseDown ist eine private VBA-Subroutine, die reagiert, sobald die Benutzerin die Maus drückt, um einen der Listeneinträge zu wählen:

>     Private Sub LstOLE_MouseDown(...)
>       priv_letzteOLEWahl = Me![LstOLE]  'priv_.. ist eine für das ganze Modul gültige Variable
>     End Sub

Aufgabe der Ereignisprozedur LstOLE_MouseDown ist es nur, den zuletzt gewählten Listenwert Me![LstOLE] der globalen Variable priv_letzteOLEWahl zuzuweisen.

Objekte

Access-Steuerelemente