Avsnittene nedenfor gir nyttig informasjon om VBA. Objektnavnene angis, slik at du enkelt kan undersøke dem i Northwind 2.0 Starter Edition-databasen.
VBA (Visual Basic for Applications) er programmeringsspråket som brukes i alle Microsoft 365-produkter, ikke bare Access. Det er hovedsakelig dokumentert her: Få tilgang til utviklerdokumentasjon.Hvis du vil komme i gang, kan du se Innføring i Access-programmering.
Når du søker etter informasjon, må du passe på å se etter access-eksempler og inkludere Microsoft Access i søkeordet. Løsninger for de andre Microsoft 365-produktene vil ofte fungere, men kan kreve endringer.
Microsoft Access er et modent produkt. Det betyr at det finnes mange eksempler der ute, noe som er flott for deg. Dette betyr også at eldre bøker om Access-programmering fremdeles er levedyktige for deg å se på. Mange av de eldre bøkene er fortsatt tilgjengelige på brukte boknettsteder til en brøkdel av den opprinnelige kostnaden.
Microsoft Access-filer er Microsoft 365-filer. Microsoft 365-filer må være på en klarert plassering eller ha innholdet aktivert. Disse elementene anses som trygge fordi du opprettet dem, eller de har kommet fra en pålitelig kilde. Denne kontrollen skjer hver gang du åpner en Microsoft 365-fil. Vi vil referere til dette som klarert/aktivert herfra. Hvis en ny versjon av programmet utgis og åpnes fra en ikke-klarert plassering, gjentas prosessen med å aktivere innholdet. Hvis du vil ha mer informasjon, kan du se Klarerte plasseringer for Microsoft 365-filer, bestemme om du vil klarere en database og legge til, fjerne eller endre en klarert plassering i Microsoft 365.
Makroer, funksjoner og delprosedyrer er måten du implementerer forretningslogikk i Access-databasen på.
Kontroller i et skjema (for eksempel knapper, tekstbokser, etiketter og så videre) kan bruke hendelser (som å klikke på kontrollen) til å utløse andre prosesser, for eksempel legge til, slette poster eller åpne skjemaer. Disse prosessene kan implementeres ved hjelp av makroer eller VBA. Northwind bruker for det meste makroer, og noen VBA. Hvis du vil ha mer informasjon, kan du se KjørKode, makrohandling.
Noen kontrolltyper har innebygde veivisere som automatisk oppretter en makro. Hvis du for eksempel legger til en kommandoknapp i et skjema, åpnes en veiviser som tilbyr flere valg av funksjonalitet for knappen. Hvis du legger til en kombinasjonsboks, åpnes en veiviser som kan konfigureres til å finne en bestemt post i skjemaet.
Navigasjonsruten er hovedmåten for visning og tilgang til alle databaseobjektene, og den vises på venstre side av Access-vinduet som standard. Navigasjonsruten Northwind 2.0 Starter Edition er tilpasset. Vi opprettet en egendefinert kategori kalt Northwind Starter 2.0. Dette gjør at vi kan organisere objektene etter funksjonsområde. Hvis du vil ha mer informasjon, kan du se Tilpasse navigasjonsruten.
Det er viktig for deg å lære om omfang og synlighet i Access og Microsoft 365. Omfang refererer til tilgjengeligheten til en variabel, konstant eller prosedyre for bruk av en annen prosedyre. Det finnes tre omfangsnivåer: prosedyrenivå, privat modulnivå og offentlig modulnivå. Du bestemmer omfanget av en variabel når du erklærer den. Det er lurt å erklære alle variabler eksplisitt for å unngå navnekonfliktsfeil mellom variabler med ulike omfang. Alle moduler har to direktivsetninger: Option Compare Database og Option Explicit. Hvis du vil ha mer informasjon, kan du se Forstå omfang og synlighet, Offentlig setning, Privat setning, Static-setning og Forstå levetiden til variabler.
Noen ganger trenger du at det finnes en variabel etter objektet som ble opprettet. Det finnes tre primære måter å gjøre dette på: Offentlige variabler, TempVars og lagring av verdiene i en lokal tabell. Hver av disse har fordeler og ulemper. Mange utviklere bruker en blanding av disse.
Offentlige variabler og TempVars finnes for gjeldende økt og går ut av omfanget når programmet lukkes. Hva om du vil beholde brukerspesifikke variabler på tvers av øktene? Du kan lagre disse verditypene i en lokal tabell. I Northwind 2.0 Starter Edition har vi disse verdiene i en tabell kalt SystemSettings. En verdi i tabellen er for eksempel ShowWelcome. Denne verdien forteller oss om du vil se velkomstskjermen hver gang du logger på eller ikke.
Hvis du har brukt kontrollveivisere innebygd i Access, vet du at hvis en makro opprettes, er det ofte ingen feilbehandling i det hele tatt, og hvis VBA opprettes, kan det være begrenset til en MsgBox-funksjon, Feil.Beskrivelse-stil.
I Northwind 2.0 Starter Edition har vi implementert det som kalles en global feilbehandling. Feil som oppstår i en hvilken som helst prosedyre, kaller en funksjon på globalt nivå for å vise feilen. Den store fordelen er at koden er konsekvent, og hvis meldingen må endres, for eksempel viser feilnummeret eller logger feilen til en fil, kan den bare gjøres på ett sted.
clsErrorHandler er klassemodulen som implementerer feilbehandlingskoden. En klassemodul holder alle hovedfunksjonene og hjelpefunksjonene samlet i én enhet, noe som gjør koden mer innkapslet. AutoExec-makroen kaller etter hvert oppstartsfunksjonen i modStartup, oppretter en forekomst av clsErrorHandler og lagrer den som en global variabel, slik at den kan brukes i hele programmet.
Faktisk er feilhåndteringskoden i prosedyrene så konsekvent at vi kunne opprette alt på mindre enn fem minutter ved hjelp av en fancy VBA-kode som utstyrte hver prosedyre med riktig feilbehandling. Denne koden er ikke inkludert i malen.