Home > Artikel > Ausgabe 7/2011 > Aktion beim Start: Das Autoexec-Makro

Aktion beim Start: Das Autoexec-Makro

  PDF ansehen

  Download PDF und Beispieldatenbank

Wenn Access direkt nach dem Öffnen einer Access-Anwendung automatisch eine VBA-Funktion aufrufen soll, finden Sie hier die richtige Lösung: Das Autoexec-Makro! Dieses Makro liefert die Möglichkeit, beliebige Funktionen aufzurufen, Formular zu öffnen und mehr.

Beispieldatenbank

Die Beispiele zu diesem Artikel finden Sie in der Datenbank 1107_Autoexec.mdb.

Makros

Makros sind grundsätzlich nicht so flexibel wie VBA-Code. Es steht nur ein begrenzter Befehlsumfang bereit und auch die Wartbarkeit ist nicht besonders gut. Allerdings haben Makros dennoch eine Daseinsberechtigung, vor allem mit der Einführung der Webdatenbanken mit Access 2010. Webanwendungen lassen sich ausschließlich mit Makros programmieren.

Aber auch für ältere Access-Versionen lohnt sich ein Blick auf Makros, vor allem auf zwei spezielle Exemplare. Diese zeichnen sich zunächst durch ihre Namen aus: Autoexec und Autokeys. Ein Makro namens Autoexec wird immer automatisch beim Öffnen einer Datenbankdatei ausgelöst und mit dem Autokeys-Makro können Sie Tastenkombinationen beliebige Makrofunktionen zuweisen.

In diesem Artikel schauen wir uns allerdings zunächst das Autoexec-Makro an und konzentrieren uns darauf, eine vorhandene VBA-Funktion zu starten.

Die dabei verwendete Funktion muss sich in einem Standardmodul befinden und mit dem Schlüsselwort Public als öffentliche Funktion deklariert sein. Zu Beispielzwecken verwenden Sie die folgende Funktion:

Public Function AutoexecText()

     MsgBox "Per Autoexec aufgerufen"

End Function

Autoexec-Makro anlegen

Makros legen Sie je nach Version wie folgt an:

Access 2003 und älter: Wechseln Sie im Datenbankfenster zur Registerseite Makros und klicken Sie auf die Schaltfläche Neu.

Access 2007: Klicken Sie im Ribbon auf den Eintrag Erstellen|Andere|Makro.

Access 2010: Wählen Sie im Ribbon den Befehl Erstellen|Makros und Code|Makro aus.

Es erscheint der Makro-Editjor, der unter Access 2010 deutlich anders aussieht als unter den älteren Access-Versionen. Daher betrachten wir die Erstellung des Autoexec-Makros für diese Versionen getrennt.

Autoexec-Makro unter Access 2007 und älter anlegen

Wenn Sie den Makro-Editor geöffnet haben, erscheint dieser zunächst mit einer leeren Liste zum Eintragen der gewünschten Aktionen. Klicken Sie in die erste Zeile und wählen Sie aus dem Kombinationsfeld den Eintrag AusführenCode aus. Dieses Makro erwartet einen Parameter, den Sie unten unter Funktionsname eintragen können. Am einfachsten gelingt dies, wenn Sie auf die Aufbauen-Schaltfläche (...) klicken und den Ausdrucks-Generator verwenden. Hier klicken Sie zunächst doppelt auf den Eintrag Funktionen und dann auf den Namen des VBA-Projekts der aktuellen Datenbank, in diesem Fall 1106_Autoexec. Es erscheint eine Liste der Standardmodule und für das markierte Standardmodul eine weitere Liste der enthaltenen öffentlichen Function-Routinen (siehe Bild 1).

Anlegen des Autoexec-Makros unter Access 2007 und älter

Bild 1: Anlegen des Autoexec-Makros unter Access 2007 und älter

Wählen Sie die gewünschte Funktion aus und schließen Sie den Ausdrucks-Generator wieder. Speichern Sie dann das Makro unter dem Namen Autoexec.

Autoexec-Makro unter Access 2010 anlegen

Der Makro-Editor von Access 2010 sieht ein wenig anders aus als der älterer Access-Versionen. Eine neue Makroaktion fügen Sie hier aber ebenfalls über die Auswahlliste hinzu – wählen Sie auch hier den Eintrag AusführenCode aus.

Ein Nachteil ist, dass es hier keine Schaltfläche zum Öffnen des Ausdrucks-Generators gibt. Zum Glück funktioniert dieser trotzdem: Sie müssen einfach nur die Einfügemarke im Parameterfeld Funktionsname positionieren und dann die Tastenkombination Strg + F2 betätigen.

Im Ausdrucks-Generator stellen Sie dann wie in Bild 2 den gewünschten Ausdruck zusammen.

Anlegen des Autoexec-Makros unter Access 2010

Bild 2: Anlegen des Autoexec-Makros unter Access 2010

Anschließend speichern Sie das Makro unter dem Namen Autoexec.

Autoexec-Makro testen

Sie können das Makro nun testen, indem Sie doppelt auf den entsprechenden Eintrag im Datenbankfenster beziehungsweise im Navigationsbereich klicken. Es erscheint das Meldungsfenster, dass durch die MsgBox-Funktion der durch das Makro aufgerufenen VBA-Funktion AutoexecText erzeugt wird.

Die eigentliche Aufgabe dieses Makros ist es jedoch, die angegebene Funktion beim Öffnen der Datenbankdatei aufzurufen. Also schließen Sie die Datenbankdatei und öffnen diese erneut. Wenn Sie alles richtig gemacht haben, sollte das Meldungsfenster auch in diesem Fall erscheinen.

Weitere Möglichkeiten

Sie können mit dem Autoexec-Makro nicht nur eine VBA-Funktion aufrufen, sondern noch viele weitere Dinge erledigen. Einen Überblick der Möglichkeiten erhalten Sie, wenn Sie sich die Liste der Makroaktionen im Makro-Editor ansehen.

Dort gibt es beispielsweise auch einen Befehl namens ÖffneFormular. Damit können Sie gleich beim Öffnen der Datenbank ein Formular öffnen.

Dies ist jedoch die einzige Aktion, die Sie auch auf andere Weise automatisieren können. Dazu geben Sie einfach den Namen des zu öffnenden Formulars für die Eigenschaft Formular/Seite anzeigen in den Start-Optionen von Access 2003 und älter (Menü-Eintrag Extras|Start) beziehungsweise in den Access-Optionen von Access 2007 und jünger unter Aktuelle Datenbank|Formular anzeigen an.