Northwind 2.0 Starter Edition: kratki uvod u VBA

Primjenjuje se na
Access za Microsoft 365 Access 2021 Access 2019

Sljedeći odjeljci sadrže korisne informacije o VBA-u. Navedeni su nazivi objekata tako da ih možete jednostavno pregledati u bazi podataka Northwind 2.0 Starter Edition.

VBA

VBA (Visual Basic for Applications) programski je jezik koji se koristi u svim proizvodima okruženja Microsoft 365, ne samo u programu Access. Glavna je mogućnost dokumentirana u nastavku: Dokumentacija razvojnih inženjera programa Access. Za početak pogledajte Uvod u programiranje programa Access.

Kada tražite informacije, svakako potražite primjere specifične za Access i u pojam za pretraživanje uvrstite Microsoft Access. Rješenja za druge proizvode sustava Microsoft 365 često će funkcionirati, ali mogu zahtijevati promjene.

Microsoft Access je proizvod za odrasle osobe. To znači da postoji mnogo primjera, što je sjajno za vas. To također znači da su starije knjige o programiranju u programu Access još uvijek održive za gledanje. Mnoge starije knjige još uvijek su dostupne na stranicama rabljenih knjiga po djeliću njihove izvorne cijene. 

Pouzdana mjesta i omogućeni sadržaj

Datoteke programa Microsoft Access datoteke su okruženja Microsoft 365. Datoteke okruženja Microsoft 365 moraju se nalaziti na pouzdanom mjestu ili njihov sadržaj mora biti omogućen. Te se stavke smatraju sigurnima jer ste ih vi stvorili ili potječu iz pouzdanog izvora. Ova se provjera događa svaki put kada otvorite bilo koju datoteku okruženja Microsoft 365. Odsad ćemo tu mogućnost zvati pouzdano/omogućeno. Ako se nova verzija aplikacije izda i otvori s nepouzdanog mjesta, ponovit će se postupak omogućivanja sadržaja. Dodatne informacije potražite u članku Pouzdana mjesta za datoteke okruženja Microsoft 365, Procjena pouzdanosti baze podataka i Dodavanje, uklanjanje ili promjena pouzdanog mjesta u sustavu Microsoft 365.

Makronaredbe, funkcije i podprocedure

Makronaredbe, funkcije i podprocedure način su implementacije poslovne logike u bazu podataka programa Access.

Kontrole na obrascu (kao što su gumbi, tekstni okviri, oznake itd.) mogu pomoću svojih događaja (npr. klika na kontrolu) pokrenuti druge postupke, kao što su dodavanje, brisanje zapisa ili otvaranje obrazaca. Ti se postupci mogu implementirati pomoću makronaredbi ili VBA koda. Northwind uglavnom koristi makronaredbe, a neke VBA programe. Dodatne informacije potražite u članku Akcija makronaredbe RunCode.

Neke vrste kontrola sadrže ugrađene čarobnjake koji automatski stvaraju makronaredbe. Na primjer, dodavanjem naredbenog gumba u obrazac otvorit će se čarobnjak koji će nuditi nekoliko izbora funkcija gumba. Dodavanjem kombiniranog okvira otvorit će se čarobnjak koji je moguće konfigurirati za pronalaženje određenog zapisa na obrascu.

Navigacijsko okno glavni je način prikaza svih objekata baze podataka i pristupa svim objektima baze podataka, a po zadanom se prikazuje na lijevoj strani prozora programa Access. Prilagođeno je navigacijsko okno za Northwind 2.0 Starter Edition. Stvorili smo prilagođenu kategoriju pod nazivom Northwind Starter 2.0. To nam omogućuje organiziranje objekata prema funkcionalnom području. Dodatne informacije potražite u članku Prilagodba navigacijskog okna.

Doseg i vidljivost

Važno je da se informirate o dosegu i vidljivosti unutar programa Access i okruženja Microsoft 365. Opseg se odnosi na raspoloživost varijable, konstante ili procedure za korištenje u drugoj proceduri. Postoje tri razine opsega: razina procedure, razina privatnog modula i razina javnog modula. Opseg varijable određujete prilikom njezinog deklariranja. Preporučujemo da izričito deklarirate sve varijable da biste izbjegli pogreške sukoba naziva između varijabli različitog opsega. Svi moduli imaju dvije naredbe direktive: Option Compare Database i Option Explicit.  Dodatne informacije potražite u člancima Razumijevanje opsega i vidljivosti, Javna izjava, Privatna izjava, Statička izjava i Objašnjenje vijeka trajanja varijabli

Postojane varijable

Ponekad vam je potrebna da varijabla postoji nakon što objekt koji ju je stvorio izađe izvan opsega. To možete učiniti na tri primarna načina: javne varijable, vremenske varijable i pohranjivanje vrijednosti u lokalnu tablicu. Svaki od njih ima prednosti i nedostatke. Mnogi programeri koriste kombinaciju tih varijanti.

Javne varijable i TempVars postoje za trenutnu sesiju i izlaze izvan opsega kada se aplikacija zatvori. Što ako želite zadržati varijable specifične za korisnike tijekom njihove sesije? Takve vrste vrijednosti možete pohraniti u lokalnu tablicu. U izdanju Northwind 2.0 Starter Edition te vrijednosti imamo u tablici pod nazivom SystemSettings. Vrijednost u tablici, primjerice, glasi "ShowWelcome". Ta nam vrijednost govori želite li da vam se zaslon dobrodošlice prikazuje prilikom svake prijave.

Rukovanje pogreškama

Ako ste koristili čarobnjak za kontrole ugrađen u Access, znate da ako se makronaredba stvori, često uopće ne dolazi do uklanjanja pogrešaka, a ako se stvori VBA, može biti ograničen na funkciju MsgBox, stil Err.Description.

U izdanju Northwind 2.0 Starter Edition implementirali smo globalni rukovatelj pogreškama. Pogreške koje se događaju u bilo kojoj proceduri pozivaju funkciju na globalnoj razini da bi vam se prikazala pogreška. Velika je prednost dosljedan, pa ako je poruku potrebno promijeniti, primjerice prikazivati broj pogreške ili zabilježiti pogrešku u datoteku, to je moguće učiniti samo na jednom mjestu.

clsErrorHandler je modul klase koji implementira kod za rukovanje pogreškama. Modul klase drži sve svoje glavne i pomoćne funkcije zajedno u jednoj jedinici, čineći kod inkapsuliranijim. Makronaredba AutoExec na kraju poziva funkciju pokretanja u modStartup, stvara instancu clsErrorHandler i sprema je kao globalnu varijablu da bi se mogla koristiti u cijeloj aplikaciji.

Zapravo, kod za rukovanje pogreškama u postupcima toliko je dosljedan da smo ga sve uspjeli stvoriti za manje od pet minuta pomoću nekog otmjenog VBA koda koji je svaku proceduru nadmašio odgovarajućim rukovateljem pogrešaka. Taj kod nije uvršten u predložak.

Dodatne informacije

Northwind 2.0 Starter Edition