Du kan bruke makrohandlingen RunCode i Access-skrivebordsdatabaser til å kalle opp en funksjonsprosedyre for Visual Basic for Applications (VBA).
Innstilling
Makrohandlingen KjørKode har følgende argument.
Handlingsargument |
Beskrivelse |
Funksjonsnavn |
Navnet på VBA Function-prosedyren som skal ringes opp. Omslutt alle funksjonsargumenter i parenteser. Skriv inn funksjonsnavnet i Funksjonsnavn-boksen i makroutformingsvinduet. Dette er et nødvendig argument. Obs!: Klikk byggeverktøyknappen i en Access-skrivebordsdatabase (.mdb eller *.accdb) for å bruke uttrykksverktøyet til å velge en funksjon for dette argumentet. Klikk ønsket funksjon i listen i uttrykksverktøyet. |
Merknader
De brukerdefinerte Function-prosedyrene lagres i Access moduler.
Du må inkludere parenteser, selv om Function-prosedyren ikke har noen argumenter, som i eksemplet nedenfor:
TestFunksjon()
I motsetning til brukerdefinert funksjon navn som brukes for hendelsesegenskap innstillinger, begynner ikke funksjonsnavnet i funksjonsnavnargumentet med et likhetstegn (=).
Access ignorerer returverdien for funksjonen.
Obs!: Du kan ikke kalle en Function-prosedyre fra en makro hvis funksjonsnavnet er det samme som modulnavnet.
Tips
Hvis du vil kjøre en delprosedyre eller hendelsesprosedyre skrevet i Visual Basic, oppretter du en Function-prosedyre som kaller sub-prosedyren eller hendelsesprosedyren. Deretter bruker du makrohandlingen KjørKode til å kjøre Function-prosedyren.
Hvis du bruker makrohandlingen KjørKode til å kalle opp en funksjon, ser Access etter funksjonen med navnet som er angitt av funksjonsnavnargumentet i standardmodulene for databasen. Men når denne handlingen kjøres som svar på å klikke en menykommando på en skjema eller rapport eller som svar på en hendelse i et skjema eller en rapport, ser Access først etter funksjonen i skjemaets eller rapportens klassemodul og deretter i standardmodulene. Access søker ikke i klassemodulene som vises i moduler-området i navigasjonsruten etter funksjonen som er angitt av funksjonsnavnargumentet .
Denne handlingen er ikke tilgjengelig i en VBA-modul. Kjør i stedet den ønskede Function-prosedyren direkte i VBA.