Applies ToAccess för Microsoft 365 Access 2021 Access 2019

Följande avsnitt innehåller användbar information om VBA. Objektnamnen tillhandahålls så att du enkelt kan undersöka dem i Northwind 2.0 Starter Edition-databasen.

VBA (Visual Basic for Applications) är programmeringsspråket som används i alla Microsoft 365-produkter, inte bara i Access. Det är främst dokumenteras här: Access utvecklare dokumentation.Mer information om hur du kommer igång finns i Introduktion till programmering i Access.

När du söker efter information ska du söka efter Access-specifika exempel och ta med Microsoft Access i söktermen. Ofta fungerar lösningar för de andra Microsoft 365-produkterna, men kan kräva ändringar.

Microsoft Access är en mogen produkt. Det betyder att det finns många exempel där ute, vilket är bra för dig. Det innebär också att äldre böcker om Programmering i Access fortfarande är bra att titta på. Många av de äldre böckerna är fortfarande tillgängliga på begagnade bokwebbplatser till en bråkdel av deras ursprungliga kostnad. 

Microsoft Access-filer är Microsoft 365-filer. Microsoft 365-filer måste finnas på en betrodd plats eller ha deras innehåll aktiverat. Dessa objekt anses vara säkra eftersom du har skapat dem, eller så har de kommit från en pålitlig källa. Den här kontrollen utförs varje gång du öppnar en Microsoft 365-fil. Vi kallar det här för betrodd/aktiverad härifrån. Om en ny version av programmet släpps och öppnas från en icke-betrodd plats upprepas processen för aktivering av innehållet. Mer information finns i Betrodda platser för Microsoft 365-filer, Bestämma om en databas ska vara betrodd och Lägga till, ta bort eller ändra en betrodd plats i Microsoft 365.

Makron, funktioner och underprocedurer är hur du implementerar affärslogik i Access-databasen.

Kontroller i ett formulär (t.ex. knappar, textrutor, etiketter och så vidare) kan använda sina händelser (som att klicka på kontrollen) för att utlösa andra processer, till exempel lägga till, ta bort poster eller öppna formulär. De här processerna kan implementeras med hjälp av makron eller VBA. Northwind använder främst makron och vissa VBA. Mer information finns i Makroåtgärden KörKod.

Vissa kontrolltyper har inbyggda guider som automatiskt skapar ett makro. Om du till exempel lägger till en kommandoknapp i ett formulär öppnas en guide med flera alternativ för knappens funktioner. Om du lägger till en kombinationsruta öppnas en guide som kan konfigureras för att hitta en viss post i formuläret.

Navigeringsfönstret är det huvudsakliga sättet att visa och komma åt alla databasobjekt och visas som standard till vänster i Access-fönstret. Navigeringsfönstret Northwind 2.0 Starter Edition har anpassats. Vi har skapat en anpassad kategori med namnet Northwind Starter 2.0. Då kan vi ordna objekten efter funktionsområde. Mer information finns i Anpassa navigeringsfönstret.

Det är viktigt för dig att lära dig mer om omfattning och synlighet i Access och Microsoft 365. Omfattning refererar till tillgängligheten för en variabel, konstant eller procedur för användning av en annan procedur. Det finns tre omfattningsnivåer: procedurnivå, privat modulnivå och offentlig modulnivå. Du bestämmer omfattningen av en variabel när du deklarerar den. Det är en bra idé att uttryckligen deklarera alla variabler för att undvika namnkonflikter mellan variabler med olika omfattningar. Alla moduler har två direktivsatser: Option Compare Database och Option Explicit.  Mer information finns i Förstå omfattning och synlighet, Offentlig instruktion, Privat uttryck, Statiskt uttryck och Förstå livslängden för variabler

Ibland behöver du en variabel som finns efter att objektet som skapades går utanför omfånget. Det finns tre huvudsakliga sätt att göra detta: Offentliga variabler, TempVars och lagring av värden i en lokal tabell. Var och en av dessa har för- och nackdelar. Många utvecklare använder en blandning av dessa.

Offentliga variabler och TempVars finns för den aktuella sessionen och går utanför omfattningen när programmet stängs. Vad gör du om du vill behålla användarspecifika variabler i sina sessioner? Du kan lagra dessa typer av värden i en lokal tabell. I Northwind 2.0 Starter Edition har vi dessa värden i en tabell som heter SystemSettings. Ett värde i tabellen är till exempel "VisaVälkommen". Det här värdet anger för oss om du vill se välkomstskärmen varje gång du loggar in eller inte.

Om du har använt några inbyggda kontrollguider i Access vet du att om ett makro skapas finns det ofta ingen felhantering alls, och om VBA skapas kan det vara begränsat till en MsgBox-funktion, formatet Err.Description.

I Northwind 2.0 Starter Edition har vi implementerat vad som kallas global felhanterare. Fel som inträffar i en procedur anropar en funktion på global nivå för att visa felet. Den stora fördelen är att koden är konsekvent, och om meddelandet behöver ändras, till exempel om du visar felnumret eller loggar felet i en fil, kan det bara göras på ett ställe.

clsErrorHandler är klassmodulen som implementerar felhanteringskoden. En klassmodul håller ihop alla huvud- och hjälpfunktioner i en enhet, vilket gör koden mer inkapslad. AutoExec-makrot anropar så småningom startfunktionen i modStartup, skapar en instans av clsErrorHandler och sparar den som en global variabel så att den kan användas i hela programmet.

Faktum är att felhanteringskoden i procedurerna är så konsekvent att vi kunde skapa allt på mindre än fem minuter med någon fin VBA-kod som utrustade varje procedur med rätt felhanterare. Den här koden ingår inte i mallen.

Se även

Northwind 2.0 Starter Edition

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.