Autor: André Minhorst, Duisburg
Man munkelt zwar, dass es Datenbankanwendungen gibt, die ohne den Einsatz von VBA auskommen – aber besonders komfortabel können solche Anwendungen wohl nicht sein. Speziell der Einsatz der so genannten Ereignisprozeduren, die in Folge bestimmter Ereignisse ausgelöst werden, ist eine der größten Stärken der Benutzeroberfläche von Access. Im vorliegenden Beitrag erfahren Sie, wie Sie eine Ereignisprozedur für ein bestimmtes Objekt oder Steuerelement und eine bestimmte Ereigniseigenschaft anlegen.
Unter der überschrift Kurz und bündig finden Sie eine Kurzanleitung zum Anlegen einer Ereignisprozedur. Diese sollte in den meisten Fällen funktionieren. Weitere Details dazu finden Sie in den nachfolgenden Kapiteln.
Es gibt drei wesentliche Parameter, die für das Anlegen einer Ereignisprozedur wichtig sind:
Um mit diesen Informationen eine Ereignisprozedur zu erstellen, verwenden Sie den VBA-Editor. Die Bezeichnung VBA-Editor werden Sie übrigens nirgends finden. Das gemeinte Fenster trägt lediglich den Namen des Objekts und die Modulart in der Titelleiste, z. B. Form_Formular1: Klassenmodul. Im Folgenden soll für dieses Fenster die Bezeichnung VBA-Editor verwendet werden.
Bild 1: Aktivieren eines Formulars
Hinweis
Es gibt einen Unterschied zwischen dem VBA-Editor unter Access 97 und Access 2000: Unter Access 97 öffnet sich ein weiteres Fenster innerhalb des Anwendungsfensters, während unter Access 2000 wie bei allen anderen Anwendungen von Office 2000 ein eigener VBA-Editor erscheint.
Als Aufbewahrungsort für die Ereignisprozeduren dienen Klassenmodule. Es gibt für jedes Objekt ein Klassenmodul, in das Sie alle Ereignisprozeduren für das entsprechende Objekt und die darin befindlichen Steuerelemente eingeben können.
Zum Anlegen einer Ereignisprozedur gibt es unterschiedliche Möglichkeiten:
In beiden Fällen verwenden Sie den VBA-Editor. Im ersten Fall zeigt der VBA-Editor direkt den Prozedurrahmen an, während Sie im zweiten Fall den Prozedurrahmen erst – mehr oder weniger automatisiert – zusammensetzen müssen.