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.