AusführenCode-Makroaktion

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Sie können die AusführenCode-Makroaktion in Access-Desktopdatenbanken verwenden, um eine VBA-Funktionsprozedur (Visual Basic for Applications) aufzurufen.

Einstellung

Die AusführenCode-Makroaktion hat die folgenden Argumente.

Aktionsargument Beschreibung
Funktionsname Der Name der VBA-Funktionsprozedur, die aufgerufen werden soll. Setzen Sie alle Argumente der Funktion in Klammern. Geben Sie den Funktionsnamen im Makroentwurfsfenster in das Feld Funktionsname ein. Dieses Argument ist erforderlich.
Hinweis: Klicken Sie in einer Access-Desktopdatenbank (.mdb oder ACCDB) auf die Schaltfläche Erstellen , um mit dem Ausdrucks-Generator eine Funktion für dieses Argument auszuwählen. Klicken Sie im Ausdrucks-Generator in der Liste auf die gewünschte Funktion.

Hinweise

Die benutzerdefinierten Funktionsprozeduren werden in Access-Modulen gespeichert.

Sie müssen selbst dann Klammern angeben, wenn die Funktionsprozedur keine Argumente hat, wie im folgenden Beispiel:

TestFunktion()

Im Gegensatz zu benutzerdefinierten Funktionsnamen, die für Einstellungen von Ereigniseigenschaften verwendet werden, beginnt der Funktionsname im Argument Funktionsname nicht mit einem Gleichheitszeichen (=).

Access ignoriert den Rückgabewert der Funktion.

Hinweis

Sie können eine Funktionsprozedur nicht aus einem Makro aufrufen, wenn der Name der Funktion mit dem Namen des Moduls identisch ist.

Tipp

Erstellen Sie zum Ausführen einer in Visual Basic geschriebenen Unterprozedur oder Ereignisprozedur eine Funktionsprozedur, die die Unterprozedur oder Ereignisprozedur aufruft. Verwenden Sie dann die AusführenCode Makroaktion, um die Funktionsprozedur auszuführen.

Wenn Sie die AusführenCode-Aktion verwenden, um eine Funktion aufzurufen, sucht Access in den Standardmodulen der Datenbank nach der Funktion, die den im Argument Funktionsname angegebenen Namen hat. Wenn diese Aktion jedoch als Reaktion auf einen Menübefehl in einem Formular oder Bericht oder als Reaktion auf ein Ereignis in einem Formular oder Bericht ausgeführt wird, sucht Access zuerst im Klassenmodul des Formulars oder Berichts und dann in den Standardmodulen nach der Funktion. Access sucht nicht in den Klassenmodulen, die im Abschnitt Module des Navigationsbereichs angezeigt werden, nach der Funktion, die durch das Argument Funktionsname angegeben ist.

Diese Aktion ist in einem VBA-Modul nicht verfügbar. Führen Sie die gewünschte Funktionsprozedur stattdessen direkt in VBA aus.