Sissejuhatus Accessi programmeerimisse

Rakenduskoht
Microsoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Kui loote uue andmebaasi, alustate tavaliselt andmebaasiobjektide (nt tabelite, vormide ja aruannete) loomisest. Võimalik, et peate protsesside automatiseerimiseks ja objektide ühendamiseks lisama programmeerimise. Selles artiklis tutvustatakse Accessi programmeerimistööriistu.

Selles artiklis

Mis on programmeerimine?

Programmeerimine tähendab Accessis andmebaasi funktsioonide lisamist Accessi makrode või Visual Basic for Applicationsi (VBA) koodi abil. Näiteks võite luua vormi ja aruande ning seejärel lisada vormile käsunupu, mis avab aruande selle valimisel. Sel juhul loote makro või VBA protseduuri ja seejärel määrate käsunupu OnClick sündmuseatribuudi nii, et käsunupp käivitaks makro või protseduuri. Lihtsa toimingu (nt aruande avamiseks) tegemiseks saate kasutada käsunupuviisardit või saate viisardi välja lülitada ja selle ise programmida.

Märkus.

Paljud Microsoft Office'i programmid kasutavad koodile viitamiseks terminit VBA "makro". See võib Accessi kasutajaid segadusse ajada, kuna Accessis viitab termin "makro" makrotoimingute nimega kogumile, mille koostate makrokoosturi abil. Accessi makrotoimingud tähistavad ainult rakenduses saadaolevate VBAkäskude alamhulka. Makrokoostur pakub Visual Basic Editoriga võrreldes struktureeritumat liidest, et saaksite juhtelementidele ja objektidele lisada programmeerimist ilma õppekoodita VBA . Accessi spikriartiklites nimetatakse Accessi makrosid makrodeks. VBA koodi nimetatakse VBA koodiks, funktsiooniks või protseduuriks. VBA koodi talletatakse klassimoodulites, mis on osa üksikutest vormidest või aruannetest ja sisaldavad koodi tavaliselt ainult nende objektide jaoks, ning moodulites, mis pole seotud kindlate objektidega ja sisaldavad tavaliselt globaalset koodi, mida saate kasutada kogu andmebaasis.

Objektidel (nt vormid ja aruanded) ning juhtelementidel (nt käsunuppudel ja tekstiväljadel) on sündmuseatribuudid, millele saate manustada makrosid või protseduure. Iga sündmuseatribuut on seotud kindla sündmusega (nt hiire klõpsamine, vormi avamine või tekstiväljal andmete muutmine). Sündmusi võivad käivitada ka Accessi välised tegurid ,nt süsteemisündmused või muude sündmustega seotud makrod või protseduurid. Andmebaas võib muutuda keerukaks, kui lisate paljudele objektidele paljudele sündmuseatribuutidele palju makrosid või protseduure. Enamikul juhtudel aga saate soovitud tulemused väga vähese programmeerimise abil.

Lehe algusse

Kas kasutada makrosid või VBA-koodi?

Otsus kasutada makrosid või mõlemat sõltub peamiselt sellest, VBAkuidas kavatsete andmebaasi juurutada või levitada. Näiteks kui andmebaas on salvestatud teie arvutisse, olete ainus kasutaja ja tunnete end koodi kasutamisega VBA mugavalt, võite otsustada kasutada VBA enamike programmeerimisülesannete jaoks. Kui plaanite aga andmebaasi teiste inimestega failiserverist ühiskasutusse anda, võiksite turvalisusega seotud probleemide tõttu kasutamist vältida VBA .

Otsustage makrosid või VBA koodi kasutada kahel probleemil: turvalisus ja soovitud funktsionaalsus. Turvalisus on oluline, kuna VBA seda saab kasutada selleks, et luua kood, mis ohustab teie andmeid või kahjustab teie arvutis olevaid faile. Kui kasutate kellegi teise loodud andmebaasi, lubage VBA kood ainult juhul, kui teate, et andmebaas pärineb usaldusväärsest allikast. Kui loote andmebaasi, mida teised inimesed kasutavad, proovige vältida programmeerimistööriistu, mis nõuavad kasutajalt andmebaasi kindlat usaldamist. Selles jaotises kuvatakse selle nõude vältimiseks üldised tehnikad.

Andmebaasi turvalisuse tagamiseks proovige kasutada makrosid siis, kui saate seda teha ja kasutada VBA ainult selliste toimingute jaoks, mida ei saa makrotoimingute abil teha. Proovige kasutada ka ainult makrotoiminguid, mis ei nõua enne käivitamist andmebaasi usaldamist. Sel viisil makrotoimingute piiramine aitab kasutajatel olla kindel, et andmebaasil pole programmeerimist, mis võiks nende arvutis olevaid andmeid või muid faile kahjustada.

Kaalutlused makrode kasutamisel

Access sisaldab paljusid makrotoiminguid, mis võimaldavad teil koostada võimsamaid makrosid kui Accessi varasemad versioonid on lubanud. Näiteks saate nüüd makrotoimingute abil luua ja kasutada globaalseid ajutisi muutujaid ning nüüd on võimalik uute tõrketöötluseks mõeldud makrotoimingute abil tõrkeid palju paindlikumalt töödelda. Accessi varasemates versioonides olid need funktsioonid saadaval ainult operatsioonisüsteemis VBA. Makro saate manustada ka otse objekti või juhtelemendi sündmuseatribuuti. Manustatud makro saab objekti või juhtelemendi osaks ja jääb objekti või juhtelemendi teisaldamisel või kopeerimisel samaks.

Makrod pakuvad lihtsat moodust mitmete programmeerimistoimingute teostamiseks, nagu näiteks vormide avamine ja sulgemine ning aruannete käivitamine. Loodud andmebaasiobjekte (nt vorme ja aruandeid) saab kiiresti omavahel siduda, kuna süntaksit pole vaja meeles pidada. Iga toimingu argumendid kuvatakse makrokoosturis.

Lisaks makrode pakutavale suurenenud turvalisusele ja lihtsusele peate makrosid kasutama ka siis, kui soovite teha järgmisi toiminguid:

  • omistada klahvile toimingu või toimingukomplekti. Selleks on vaja luua makrorühm nimega AutoKeys.

  • sooritada andmebaasi esmasel avamisel toiming või toimingujada. Selleks on vaja luua makro nimega AutoExec.

    Märkus.

    Makro AutoExec käivitub enne mis tahes muid makrosid või VBA koodi, isegi kui määrasite dialoogiboksis Accessi suvandid käivitusvormi ja manustasite sellele vormile OnOpen või sündmusele makro või VBAOnLoad koodi.

Lisateavet makrode koostamise kohta leiate teemast Makrode mõistmine.

Kaalutlused VBA kasutamisel

Kasutage VBA makrode asemel järgmisi toiminguid.

  • Saate kasutada valmisfunktsioone või luua enda funktsioone. Access sisaldab palju sisseehitatud funktsioone, näiteks IPmt, mis arvutab intressimakse. Neid funktsioone saate kasutada arvutuste tegemiseks ilma keerukaid avaldisi loomata. Funktsiooni abil VBAsaate luua ka oma funktsioone, et teha arvutusi, mis ületavad avaldise võimet või asendavad keerukaid avaldisi. Lisaks saate avaldistes loodud funktsioonide abil rakendada tavatoiminguid mitmele objektile.
  • Objektide loomine või muutmine. Enamasti on objekti loomine ja muutmine selle objekti kujundusvaates kõige lihtsam. Mõnel juhul aga soovite võib-olla muuta objekti määratlust koodis. I abil VBAsaate töödelda nii andmebaasi kõiki objekte kui ka andmebaasi enda objekte.
  • Süsteemitaseme toimingute sooritamine. Makrotoimingu saate sooritada RunApp mõne muu programmi (nt Microsoft Excel) käivitamiseks Accessist, kuid makrot ei saa kasutada paljuks muuks toiminguks väljaspool Accessi. I abil VBAsaate kontrollida, kas fail on arvutis olemas, kasutada automatiseerimist või dünaamilist andmevahetust () muude Microsoft Windowsi-põhiste programmidega (DDEnt Excel) suhtlemiseks ja Windowsi dünaamiliselt lingitavate teekide kõnefunktsioonide jaoks (DLLs).
  • Saate kirjeid ükshaaval töödelda. Kirjekomplekti saab läbida VBA üks kirje korraga ja sooritada toimingu iga kirjega. Makrod töötavad seevastu korraga tervete kirjekomplektidega.

Lehe algusse

Käsunupuviisardi abil levinumate programmeerimistoimingute tegemine

Kui lisate vormile käsunupu, saab käsunupuviisard aidata teil programmeerimisega algust teha. Viisardi abil saate luua kindlat toimingut teostava käsunupu. Accessi failis (.accdb) loob viisard makro, mis manustatakse OnClick käsunupu atribuudile. .mdb Viisard loob VBA koodi failis või.adp, kuna manusmakrod pole nendes failivormingutes saadaval. Mõlemal juhul saate makrot või koodi vastavalt vajadustele muuta või VBA täiustada.

  1. Paremklõpsake navigeerimispaanil vormi, millele soovite käsunuppu lisada, ja klõpsake seejärel nuppu Kujundusvaade.

  2. Klõpsake galerii Juhtelemendid kuvamiseks menüüs Vormi kujundus allanoolt ja veenduge, et ruut Kasuta juhtelemendiviisardeid oleks valitud.

  3. Klõpsake menüü Vormikujundus galeriis Juhtelemendid nuppu Nupp.

  4. Klõpsake vormi kujundusruudustikus kohta, kus soovite käsunupu kuvada. Käivitatakse käsunupuviisard.

  5. Klõpsake viisardi esimesel lehel loendi Kategooriad iga kategooriat, et vaadata, milliseid toiminguid viisard käsunupule külge programmeerida saab. Valige loendis Toimingud soovitud toiming ja klõpsake nuppu Edasi.

  6. Klõpsake valikut Tekst või Pilt sõltuvalt sellest, kas soovite nupul kuvada teksti või pildi.

    • Kui soovite kuvada teksti, saate teksti redigeerida valiku Tekst kõrval oleval tekstiväljal.
    • Kui soovite kuvada pildi, soovitab viisard loendis mõnda pilti. Kui soovite valida mõne muu pildi, märkige Accessis pakutavate kõigi käsunupupiltide loendi kuvamiseks ruut Kuva kõik pildid või klõpsake nuppu Sirvi, et valida pilt muust asukohast. Klõpsake nuppu Edasi.
  7. Pange käsunupule tähendusega nimi. See toiming on valikuline ja seda nime käsunupul ei kuvata. Siiski on mõistlik sisestada tähendusrikas nimi, nii et kui teil on vaja hiljem käsunupule viidata (nt vormi juhtelementide navigeerimisjärjestuse seadmisel), on käsunuppude eristamine palju lihtsam. Kui käsunupp suleb näiteks vormi, võite sellele cmdClose nimeks määrata või CommandClose.

  8. Klõpsake nuppu Valmis. Käsunupp paigutatakse vormile.

  9. Kui soovite vaadata, mida viisard teie jaoks programmeeritud on, järgige neid valikulisi juhiseid.

    1. Kui atribuudileht pole veel kuvatud, vajutage selle kuvamiseks klahvi F4 .

    2. Klõpsake atribuudilehel vahekaarti Sündmus.

    3. Klõpsake atribuudiväljal Klõpsamisel nuppu Koosta .

      Access avab makrokoosturi ning kuvab viisardi loodud makro. Soovi korral saate makrot redigeerida. Lisateavet leiate teemast Makrode mõistmine. Kui olete lõpetanud, klõpsake makrokoosturi sulgemiseks menüü Makrokujundus jaotises Sule nuppu Sule . Kui Access palub teil muudatused salvestada ja atribuuti värskendada, klõpsake muudatuste salvestamiseks nuppu Jah või muudatuste hülgamiseks nuppu Ei.

  10. Klõpsake menüü Vormikujundus jaotises Vaated nuppu Vaade ja seejärel käsku Vormivaade. Klõpsake uut käsunuppu veendumaks, et see töötab ootuspäraselt.

Lehe algusse

Makrod

Makro on tööriist, mis võimaldab toiminguid automatiseerida ning lisada vormidele, aruannetele ja juhtelementidele funktsioone. Näiteks kui lisate vormile käsunupu, saate selle nupu OnClick sündmuseatribuudi seostada makroga, mis sisaldab käske, mida soovite nupuga teha iga kord, kui see on valitud.

Accessi makrosid võib võrrelda lihtsustatud programmeerimiskeelega, mille kood koosneb sooritatavate toimingute loendist. Makro koostamisel tuleb ripploendist toimingud valida ja iga toimingu kohta vajalik teave sisestada. Makrod võimaldavad lisada vormidele, aruannetele ja juhtelementidele funktsioone ilma moodulisse VBA koodi kirjutamata. Makrod sisaldavad alamhulka rakenduses saadaolevatest VBAkäskudest ja enamikul inimestel on lihtsam koostada makrot kui VBA kirjutada koodi.

Makro luuakse järgmisel pildil näidatud makrokoosturi abil.

Makrokoosturi kuvamiseks tehke järgmist.

  • Klõpsake menüü Loo jaotises Makrod ja kood nuppu Makro.

Lehe algusse

VBA-kood

Sarnaselt makrodega VBA saate oma Accessi rakendusse lisada automatiseerimise ja muid funktsioone. Laiendamiseks saate VBA kasutada muude tootjate juhtelemente ning kirjutada oma konkreetsete vajaduste jaoks oma funktsioonid ja protseduurid.

Kiire viis alustamiseks VBA on kõigepealt koostada Accessi makro ja seejärel teisendada see koodiks VBA . Juhised selleks leiate artiklist Makrode teisendamine VBA-koodiks. See funktsioon loob uue VBA mooduli, mis teostab makros võrdväärseid toiminguid. See toiming avab ühtlasi ka Visual Basic Editori, et saaksite hakata protseduuri muutma. Visual Basic Editoris töötades saate klõpsata märksõnu ja vajutada klahvi F1 Accessi arendaja spikri käivitamiseks ja iga märksõna kohta lisateabe saamiseks. Seejärel saate Accessi arendaja spikrit edasi uurida ja avastada soovitud programmeerimisülesannete lahendamiseks sobivaid uusi käske.

Lehe algusse

Makrode teisendamine VBA-koodiks

Accessi abil saate makrod automaatselt mooduliteks või klassimooduliteks teisendada VBA . Saate teisendada vormi või aruande juurde kuuluvaid makrosid, olenemata sellest, kas need on liidetud eraldi objektidena või manustatud. Samuti saate teisendada globaalseid makrosid, mis pole seotud kindla vormi või aruandega.

Vormile või aruandele manustatud makrode teisendamine

See protsess teisendatakse makrodeks VBA , millele on vormi või aruande või selle juhtelementide kaudu viidatud või millele on manustatud, ja lisab VBA koodi vormi või aruande klassimoodulisse. Klassimoodul saab vormi või aruande osaks ja liigub vormi või aruandega selle teisaldamisel või kopeerimisel kaasa.

  1. Paremklõpsake navigeerimispaanil vormi või aruannet ja seejärel klõpsake käsku Kujundusvaade.

  2. Klõpsake menüü Vormi kujundus jaotises Tööriistad nuppu Teisenda vormi makrod Visual Basicusse või Teisenda aruande makrod Visual Basicusse.

  3. Valige dialoogiboksis Vormimakrode teisendamine või Aruandemakrode teisendamine , kas soovite, et Access lisaks genereeritavatele funktsioonidele tõrketöötluse koodi. Kui teie makrod sisaldavad kommentaare, valige ka, kas soovite need kommentaarid funktsioonidesse kaasata. Jätkamiseks klõpsake nuppu Teisenda. Kui sellel vormil või aruandel klassimooduleid pole, loob Access ühe ja lisab sinna iga vormi või aruandega seotud makro jaoks ühe protseduuri. Access muudab ka vormi või aruande sündmuseatribuute nii, et need käivitaksid makrode asemel uued VBA protseduurid.

  4. Koodi vaatamiseks ja redigeerimiseks tehke järgmist.VBA

    1. Kui vorm või aruanne on kujundusvaates endiselt avatud ja atribuudileht pole veel kuvatud, vajutage selle kuvamiseks klahvi F4 .

    2. Klõpsake atribuudilehe vahekaardil Sündmus mis tahes kuvatavat [Event Procedure]atribuudivälja ja seejärel nuppu Koosta . Kindla juhtelemendi sündmuseatribuutide nägemiseks klõpsake seda selle valimiseks. Kogu vormi või aruande sündmuseatribuutide kuvamiseks valige atribuudilehe ülaservas olevas loendis valik Vorm või Aruanne.

      Access avab Visual Basic Editori ja kuvab sündmuse protseduuri selle klassimoodulis. Sama klassimooduli muude protseduuride kuvamiseks liikuge kerides üles või alla.

Globaalsete makrode teisendamine

  1. Paremklõpsake navigeerimispaanil makrot, mille soovite teisendada, ja seejärel klõpsake käsku Kujundusvaade.

  2. Klõpsake menüü Makrokujundus jaotises Tööriistad nuppu Teisenda makrod Visual Basicusse.

  3. Valige dialoogiboksis Makro teisendamine soovitud sätted ja klõpsake nuppu Teisenda. Access teisendab makro ja avab Visual Basic Editori.

  4. Koodi vaatamiseks ja redigeerimiseks tehke järgmist.VBA

    1. Kui Visual Basic Editoris Project Exploreri paani näha pole, klõpsake menüü Vaade nuppu Project Explorer.
    2. Laiendage selle andmebaasi all olevat puud, millega te parajasti töötate.
    3. Topeltklõpsake jaotises Moodulid moodulit Converted Macro-<macro name> . Visual Basic Editor avab mooduli.

VBA-funktsiooni manustamine sündmuse atribuudile

Globaalse makro teisendamisel vormingusse VBAVBA paigutatakse kood standardmoodulisse. Erinevalt klassimoodulist pole standardmoodul ühegi vormi ega aruande osa. Otstarbekas on siduda funktsioon vormi, aruande või juhtelemendi sündmuse atribuudiga, nii et kood käivituks täpselt soovitud ajal ja kohas. Selleks saate kopeerida VBA koodi klassimoodulisse ja seejärel seostada selle sündmuseatribuudiga või teha järgmise toimingu abil sündmuseatribuudist standardmoodulisse kutse.

  1. Jätke Visual Basic Editoris meelde funktsiooni nimi. Näiteks kui teisendasite makro nimega MyMacro, on MyMacro()funktsiooni nimi .
  2. Sulgege Visual Basic Editor.
  3. Paremklõpsake navigeerimispaanil vormi või aruannet, millega soovite funktsiooni seostada, ja seejärel klõpsake käsku Kujundusvaade.
  4. Klõpsake juhtelementi või jaotist, mille soovite funktsiooniga siduda.
  5. Kui atribuudileht pole veel kuvatud, vajutage selle kuvamiseks klahvi F4 .
  6. Klõpsake atribuudilehe vahekaardil Sündmus selle sündmuseatribuudi välja, millega soovite funktsiooni siduda.
  7. Tippige atribuudiväljale võrdusmärk (=), millele järgneb funktsiooni nimi ( =MyMacro()nt . Lisage kindlasti ka sulud.
  8. Vormi või aruande salvestamiseks klõpsake kiirpääsuribal nuppu Salvesta.
  9. Topeltklõpsake navigeerimispaanil vormi või aruannet testimaks, kas kood käivitub õigesti.

Nüüd teate põhitoiminguid koodi lisamiseks VBA oma andmebaasi. Selles artiklis kirjeldatakse ainult alustamise põhitõdesid. Paljud suurepärased teatmekirjandus ja veebiressursid aitavad teil programmeerimisoskusi arendada.

Lisateave

Kasutajaliidese makro loomine

Accessi makro käivitamine kiirklahvi abil

Käivitussündmuste automatiseerimine makro abil

Andmebaasi avamisel käivituva makro loomine

Andmebaasiobjektide sündmuste järjestus

Lehe algusse