Järgmistes jaotistes on toodud kasulik teave VBA kohta. Objektide nimed on esitatud, et saaksite neid hõlpsalt uurida Northwind 2.0 Starter Editioni andmebaasis.
VBA (Visual Basic for Applications) on programmeerimiskeel, mida kasutatakse kõigis Microsoft 365 toodetes, mitte ainult Accessis. See on peamiselt dokumenteeritud siin: Accessi arendaja dokumentatsioon.Alustamiseks lugege teemat Accessi programmeerimise tutvustus.
Teabe otsimisel otsige kindlasti Accessi konkreetseid näiteid ja lisage otsingusõna Microsoft Access. Sageli töötavad muude Microsoft 365 toodete lahendused, kuid võivad vajada muudatusi.
Microsoft Access on küps toode. See tähendab, et seal on palju näiteid, mis on teie jaoks suurepärased. See tähendab ka seda, et Accessi programmeerimise vanemaid raamatuid saab endiselt vaadata. Paljud vanemad raamatud on endiselt kasutatud raamatute saitidel saadaval murdosa nende algsest maksumusest.
Microsoft Accessi failid on Microsoft 365 failid. Microsoft 365 failid peavad olema usaldusväärses kohas või nende sisu peab olema lubatud. Neid üksusi peetakse turvaliseks, kuna need on loodud või pärinevad usaldusväärsest allikast. See kontroll toimub iga kord, kui avate mõne Microsoft 365 faili. Siin nimetame seda usaldusväärseks/lubatuks. Kui rakenduse uus versioon antakse välja ja avatakse mitteusaldusväärsest asukohast, korratakse sisu lubamise protsessi. Lisateavet leiate teemadest Microsoft 365 failide usaldusväärsed kohad, Andmebaasi usaldusväärsuse üle otsustamine ja Microsoft 365 usaldusväärse koha lisamine, eemaldamine või muutmine.
Makrod, funktsioonid ja alamprotseduurid on äriloogika rakendamine Accessi andmebaasi.
Vormi juhtelemendid (nt nupud, tekstiväljad, sildid jne) saavad sündmusi (nt juhtelemendi klõpsamist) kasutada muude protsesside käivitamiseks (nt kirjete lisamine, kustutamine või vormide avamine). Neid protsesse saab rakendada makrode või VBA abil. Northwindis kasutatakse enamasti makrosid ja VBA-sid. Lisateavet leiate teemast Makrotoiming Käivita_kood.
Mõnel juhtelemenditüübil on sisseehitatud viisardid, mis loovad makro automaatselt. Näiteks vormile käsunupu lisamisel avatakse viisard, mis pakub nupule mitmesuguseid funktsioone. Liitboksi lisamisel avatakse viisard, mida saab konfigureerida vormil kindla kirje leidmiseks.
Navigeerimispaan on peamine andmebaasiobjektide vaatamise ja juurdepääsu viis ning vaikimisi kuvatakse see Accessi akna vasakus servas. Northwind 2.0 Starteri väljaande navigeerimispaan on kohandatud. Lõime kohandatud kategooria Northwind Starter 2.0. See võimaldab meil korraldada objekte funktsionaalse ala järgi. Lisateavet leiate teemast Navigeerimispaani kohandamine.
Accessis ja Microsoft 365-s on oluline saada teavet ulatuse ja nähtavuse kohta. Ulatus viitab muutuja, konstandi või protseduuri kättesaadavusele, mida saab kasutada mõnes muus protseduuris. Ulatusetasemeid on kolm: protseduuritase, eramooduli tase ja avaliku mooduli tase. Muutuja ulatuse määratlete selle deklareerimisel. Hea mõte on deklareerida kõik muutujad selgesõnaliselt, et vältida erineva ulatusega muutujate vahel nimetamiskonfliktide tõrkeid. Kõigil moodulitel on kaks direktiivi avaldust: Option Compare'i andmebaas ja Option Explicit. Lisateavet leiate teemadest Ulatuse ja nähtavuse mõistmine, Avalik avaldus, Eraavaldus, Staatiline lause ja Muutujate kasutusaja mõistmine.
Mõnikord on vaja, et muutuja eksisteeriks ka pärast objekti loomist, mille see lõi. Selleks on kolm peamist võimalust: avalikud muutujad, ajutised muutujad ja väärtuste talletamine kohalikus tabelis. Igal neist on plussid ja miinused. Paljud arendajad kasutavad neid koos.
Praeguse seansi jaoks on olemas avalikud muutujad ja ajutised muutujad ning rakenduse sulgemisel see ulatus kaob. Mida teha, kui soovite kasutajakohased muutujad kogu seansi vältel alles hoida? Seda tüüpi väärtusi saate talletada kohalikus tabelis. Versioonis Northwind 2.0 Starter Edition on need väärtused tabelis SystemSettings. Näiteks tabeli väärtus on "ShowWelcome". See väärtus annab meile teada, kas soovite tervituskuva kuvada iga kord, kui sisse logite või mitte.
Kui olete Accessi sisse ehitatud juhtelemendiviisardeid kasutanud, siis teate, et kui makro on loodud, siis sageli tõrketöötlust ei toimu ja VBA loomisel võib see olla piiratud funktsiooniga MsgBox, mis on laad Err.Description.
Versioonis Northwind 2.0 Starter Edition oleme juurutanud globaalse tõrkeohjuri. Tõrgete korral, mis ilmnevad mis tahes toimingus, kutsuvad tõrke kuvamiseks globaalsel tasemel funktsiooni. Suur eelis on see, et kood on ühtne ja kui sõnumit on vaja muuta (nt kuvada tõrke number või logida tõrge faili), saab seda teha ainult ühes kohas.
clsErrorHandler on klassimoodul, mis juurutab tõrketöötluse koodi. Klassimoodul hoiab kõik põhi- ja abifunktsioonid ühes üksuses koos, muutes koodi kapseldatumaks. Makro AutoExec kutsub lõpuks käivitusfunktsiooni modStartupis, see loob clsErrorHandleri eksemplari ja salvestab selle globaalse muutujana, et seda saaks kasutada kogu rakenduses.
Tegelikult on protseduuride tõrkeohjuri kood nii järjekindel, et suutsime selle luua vähem kui viie minutiga, kasutades mõnd väljamõeldud VBA-koodi, mis sobitas iga protseduuri õige veaohjuriga. Seda koodi malli ei kaasata.