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-Datenbank (MDB oder ACCDB) auf die Schaltfläche Generator, um über den Ausdrucks-Generator eines 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 zum Namen einer Benutzerdefinierte Funktion, der für die Einstellung einer Ereigniseigenschaft verwendet wird, 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
Um eine in Visual Basic geschriebene Unterprozedur oder Ereignisprozedur auszuführen, erstellen Sie 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. Wird diese Aktion jedoch ausgeführt, weil auf einen Menübefehl auf einem Formular oder Bericht geklickt oder ein Ereignis auf einem Formular oder Bericht ausgelöst wurde, sucht Access zunächst 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.