Gebruik de macroactie ProcedureUitvoeren in Access-bureaubladdatabases om een functieprocedure van VBA (Visual Basic for Applications) aan te roepen.
Instelling
De macroactie ProcedureUitvoeren heeft het volgende argument.
Actieargument |
Beschrijving |
Functienaam |
De naam van de functieprocedure van VBA die u wilt aanroepen. Plaats eventuele functieargumenten tussen haakjes. Typ de naam van de functie in het vak Functienaam in het macro-ontwerpvenster. Dit is een verplicht argument. Opmerking: Klik in een Access-bureaubladdatabase (.mdb of .accdb) op de knop Bouwen om met de opbouwfunctie voor expressies een functie te selecteren voor dit argument. Klik op de gewenste functie in de lijst in de opbouwfunctie voor expressies. |
Opmerkingen
De door de gebruiker gedefinieerde functieprocedures worden opgeslagen in Access modules.
U moet haakjes toevoegen, zelfs als de functieprocedure geen argumenten heeft, zoals in het volgende voorbeeld:
TestFunctie()
In tegenstelling tot door gebruiker gedefinieerde functienamen die worden gebruikt voor gebeurteniseigenschapinstellingen, begint de naam van de functie in het argument Functienaam niet met een gelijkteken (=).
De retourwaarde van de functie wordt genegeerd in Access.
Opmerking: U kunt een functieprocedure niet aanroepen vanuit een macro als de functie dezelfde naam heeft als de module.
Tip
Als u een Sub-procedure of een gebeurtenisprocedure wilt uitvoeren die is geschreven in Visual Basic, maakt u een functieprocedure die de subprocedure of gebeurtenisprocedure aanroept. Vervolgens gebruikt u de macro-actie ProcedureUitvoeren om de functieprocedure uit te voeren.
Als u de macroactie ProcedureUitvoeren gebruikt om een functie aan te roepen, zoekt Access in de standaardmodules voor de database naar een functie met de naam die is opgegeven met het argument Functienaam. Als deze actie echter wordt uitgevoerd in reactie op het klikken op een opdracht in een formulier of rapport, of in reactie op een gebeurtenis in een formulier of rapport, zoekt Access de functie eerst in de klassemodule van het formulier of rapport en vervolgens in de standaardmodules. Er wordt niet gezocht in de klassemodules die worden weergegeven in het gedeelte Modules van het navigatiedeelvenster voor de functie die is opgegeven met het argument Functienaam.
Deze actie is niet beschikbaar in een VBA-module. U kunt de gewenste functieprocedure rechtstreeks in VBA uitvoeren.