Du kan använda makroinstruktionen KörBasic-kod i Access-skrivbordsdatabaser till att anropa en VBA-funktionsprocedur (Visual Basic for Applications).
Inställning
Makroinstruktionen KörBasic-kod har följande argument.
Åtgärdsargument |
Beskrivning |
Funktion |
Namnet på VBA-funktionsproceduren som ska anropas. Alla funktionsargument omges av parenteser. Ange funktionsnamn i rutan Funktion i makrodesignfönstret. Det här är ett obligatoriskt argument. Obs!: I Access-skrivbordsdatabasen (.mdb eller .accdb) klickar du på knappen Skapa för att använda Uttrycksverktyget och välja en funktion för det här argumentet. Klicka på den önskade funktionen i listan i Uttrycksverktyget. |
Anmärkningar
De användardefinierade funktionsprocedurerna lagras i Access moduler.
Du måste använda parenteser, även om funktionsproceduren inte har några argument, som i följande exempel:
TestFunction()
Till skillnad från användardefinierad funktion-namn som används för händelseegenskap-inställningar i Funktion-argument börjar inte med ett likhetstecken (=).
Access ignorerar returvärdet av funktionen.
Obs!: Du kan inte anropa en funktionsprocedur från ett makro om funktionsnamnet är samma som modulnamnet.
Tips!
Om du vill köra Underprocedur eller händelseprocedur som skrivs i Visual Basic skapar du en funktionsprocedur som anropar underproceduren eller händelseproceuren. Använd sedan makroinstruktionen KörBasic-kod för att köra funktionsproceduren.
Om du använder makroinstruktionen KörBasic-kod för att anropa en funktion söker Access efter funktionen med namnet som anges av argumentet Funktion i standardmodulerna för databasen. Men när den här instruktionen körs som svar på att klicka på ett menykommando för formulär eller rapport eller som svar på en händelse i ett formulär eller en rapport söker Access först efter funktionen i formulärets eller rapportens klassmodul och sedan i standardmodulerna. Access söker inte i klassmodulerna som visas i området Moduler i navigeringsfönstret efter funktionen som anges av argumentet Funktion.
Den här åtgärden är inte tillgänglig i en VBA-modul. Kör istället den funktionsprocedur du vill ha direkt i VBA.