Du kan bruge makrohandlingen AfspilKode i Access-skrivebordsdatabaser til at kalde en Visual Basic for Applications (VBA) Function-procedure.
Indstilling
Makrohandlingen AfspilKode har følgende argument.
Handlingsargument |
Beskrivelse |
Funktionsnavn |
Navnet på den VBA Function-procedure, der skal kaldes. Medtag eventuelle funktionsargumenter i parenteser. Angiv funktionsnavnet i feltet Funktionsnavn i makrodesignvinduet. Dette er et påkrævet argument. Bemærk!: I en Access-skrivebordsdatabase (.mdb eller .accdb) skal du klikke på knappen Generér for at bruge udtryksgeneratoren til at vælge en funktion til dette argument. Klik på den ønskede funktion på listen i Udtryksgenerator. |
Bemærkninger
De brugerdefinerede Function-procedurer gemmes i Access moduler.
Du skal medtage parenteser, selvom Function-proceduren ikke har nogen argumenter, som i følgende eksempel:
TestFunction()
I modsætning til brugerdefineret funktion-navne, der bruges til hændelsesegenskab-indstillinger, begynder funktionsnavnet i Funktionsnavn-argumentet ikke med et lighedstegn (=).
Access ignorerer funktionens returværdi.
Bemærk!: Du kan ikke kalde en Function-procedure fra en makro, hvis funktionsnavnet er det samme som modulnavnet.
Tip!
Hvis du vil afspille en Underordnet procedure eller hændelsesprocedure, der er skrevet i Visual Basic, skal du oprette en Function-procedure, der kalder Sub-proceduren eller hændelsesproceduren. Brug herefter makrohandlingen AfspilKode til at afspille Function-proceduren.
Hvis du bruger makrohandlingen AfspilKode til at afspille en funktion, søger Access efter funktionen med det navn, der er angivet af argumentet Funktionsnavn i standardmodulerne i databasen. Når denne handling afspilles som svar, når du har klikket på en menukommando på en formular eller Rapport eller som svar på en hændelse i en formular eller rapport, søger Access dog først efter funktionen i formularens eller rapportens klassemodul og derefter i standardmodulerne. Access søger ikke i de klassemoduler, der vises i området Moduler i navigationsruden efter den funktion, der er angivet af argumentet Funktionsnavn.
Denne handling er ikke tilgængelig i et VBA-modul. Afspil i stedet den ønskede Function-procedure direkte i VBA.