Uvod u Access programiranje

Kada kreirate novu bazu podataka, obično počinjete tako što napravite nekoliko objekata baze podataka kao što su tabele, obrasci i izveštaji. Na kraju, stignete do tačke na kojoj dodajete programiranje da biste automatizovali procese i povezali objekte baze podataka. Ovaj članak vam pomaže da se upoznate sa alatkama za programiranje u programu Access.

Ovaj članak sadrži

Šta je programiranje?

Da li treba da koristim makroe ili bi trebalo da koristim VBA kôd?

Koristite čarobnjak komandnog dugmeta da biste izvršavali uobičajene zadatke programiranja

Razumevanje makroa

Razumevanje VBA koda

Konvertovanje makroa u VBA kodu

Šta je programiranje?

U programu Access, programiranje je proces dodavanja funkcija u bazu podataka pomoću Access makroa ili Visual Basic for Applications (VBA) koda. Na primer, recimo da kreirate obrazac i izveštaj i želite da dodate komandno dugme u obrazac koje, kada na njega kliknete, otvara neki izveštaj. U ovom slučaju, programiranje je proces kreiranja makroa ili VBA procedure, a zatim postavljanja svojstva događaja komandnog dugmeta OnClick tako da klik na komandno dugme pokreće makro ili proceduru. Za jednostavne operacije, kao što je otvaranje izveštaja, možete da koristite čarobnjak za komandno dugme da obavi sav posao ili možete da isključite čarobnjak i da sami izvršite programiranje.

Napomena : Mnogi Microsoft Office programi koriste termin „makro” za upućivanje na VBA kôd. To može biti zbunjujuće za korisnike programa Access zato što se u programu Access termin „makro” odnosi na imenovani skup radnji makroa koje možete da sastavite pomoću alatke „Izrada makroa“. Radnje Access makroa predstavljaju samo podskup komandi koje su dostupne u VBA modulu. „Izrada makroa“ pruža strukturisaniji interfejs od programa Visual Basic Editor, što vam omogućava da dodate programiranje kontrolama i objektima bez potrebe učenja VBA koda. Trebalo bi da zapamtite da u člancima pomoći programa Access, Access makroi se nazivaju makroima. S druge strane, VBA kôd se naziva VBA, kôd, funkcija ili procedura. VBA kôd se nalazi u modulima klase (koji su deo pojedinačnih obrazaca ili izveštaja i obično sadrže kôd samo za te objekte) i u modulima (koji nisu vezani za određene objekte i obično sadrže „globalni” kôd koji se može koristiti u bazi podataka) .

Objekti (kao što su obrasci i izveštaji) i kontrole (kao što su komandna dugmad i okviri za tekst) imaju različite svojstva događaja na koje možete da priložite makroe ili procedure. Svako svojstvo događaja je povezano sa određenim događajem, kao što je klik tasterom miša, otvaranje obrasca ili menjanje podataka u okviru za tekst. Događaji se takođe mogu aktivirati faktorima izvan programa Access ili makroima ili procedurama koje su povezane sa drugim događajima. Baza podataka može da postane komplikovana ako dodate mnogo makroa ili procedura u nekoliko svojstava događaja mnogih objekata, ali u većini slučajeva, možete da postignete rezultate koje želite tako što ćete koristiti vrlo malo programiranja.

Vrh stranice

Treba da koristim makroe ili bi trebalo da koristim VBA kôd?

Odluka da koristite makroe, VBA ili oboje prvenstveno zavisi od toga kako planirate da primenite ili distribuirate bazu podataka. Na primer, ako je baza podataka uskladištena na vašem računaru, a vi ste jedini korisnik,i ako koristite VBA kôd, možete odlučiti da koristite VBA za izvršavanje većine zadataka programiranja. Međutim, ako nameravate da delite bazu podataka sa drugim osobama tako što ćete je pronaći na serveru datoteka, trebalo bi da koristite VBA zbog bezbednosti.

Odluku o korišćenju makroa ili VBA koda trebalo bi da zasnujete na dva pitanja: bezbednost i funkcionalnost koju želite. Bezbednost je problem zbog toga što VBA možete koristiti da biste kreirali kôd koji ugrožava bezbednost podataka ili može oštetiti datoteke na vašem računaru. Kada koristite bazu podataka koja je napravio neko drugi, trebalo bi da omogućite VBA kôd samo ako ste sigurni da baza podataka dolazi iz pouzdanog izvora. Prilikom kreiranja baze podataka koju će koristiti drugi ljudi, trebalo bi da izbegavate uključivanje alatki za programiranje koje zahtevaju da korisnik posebno odobri pouzdan status za bazu podataka. Opšte tehnika za izbegavanje potrebe da korisnici daju pouzdanost vašoj bazi podataka opisane su u nastavku ovog odeljka.

Da biste zaštitili svoje baze podataka, trebalo bi da pokušate da koristite makroe kada možete i da koristite VBA programiranje samo za operacije koje ne mogu da se izvrše pomoću radnji makroa. Pored toga, trebalo bi da pokušate da koristite samo radnje makroa koje ne zahtevaju davanje statusa pouzdanosti za funkcionisanje baze podataka. Ograničavanje korišćenja radnji makroa na ovaj način omogućava korisnicima da budu sigurni da baza podataka nema progamiranje koje može da ošteti podatke ili druge datoteke na njihovim računarima.

Razmatranja makroa

Počevši od izdanja Access 2010, Access sadrži mnoge nove radnje makroa koje vam omogućavaju da izgradite moćnije makroe koje možete da napravite pomoću prethodnih verzija programa Access. Na primer, sada možete da kreirate i koristite globalne privremene promenljive pomoću radnji makroa i možete elegantnije da upravljate greškama koristeći nove radnje makroa za upravljanje greškama. U starijim verzijama programa Access, ove vrste funkcija dostupne su samo pomoću VBA koda. Pored toga, možete da ugradite makro direktno u svojstvo događaja objekta ili kontrole. Ugrađeni makro postaje deo objekta ili kontrole i ostaje uz objekat ili kontrolu ako se premesti ili kopira.

Makroi obezbeđuju jednostavan način za upravljanje zadacima programiranja kao što su otvaranje i zatvaranje obrazaca i pokretanje izveštaja. Možete brzo i lako da povezujete objekte baze podataka (obrasce, izveštaje i tako dalje) koje ste napravili zato što postoji mala sintaksa koju morate imati na umu. Argumenti za svaku radnju prikazuju se u alatki „Izrada makroa“.

Pored povećane bezbednosti i jednostavne upotrebe koju pružaju makroi, morate da koristite makroe za izvršavanje sledećih zadataka:

  • Dodelite radnju ili skup radnji ključu. Ovo zahteva kreiranje grupe makroa koja se zove AutoKeys.

  • Izvršite radnju ili niz radnji kada se datoteka prvi put otvori. Ovo zahteva kreiranje makroa po imenu AutoExec.

    Napomena :  Makro AutoExec se pokreće pre svih drugih makroa ili VBA koda, čak i ako ste odredili početni obrazac u dijalogu Opcije programa Access i pridružili makro ili VBA kôd događaju OnOpen ili OnLoad tog obrasca.

Za više informacija o tome kako da napravite makroe, pogledajte odeljak Razumevanje makroa.

Razmatranja VBA koda

Trebalo bi da koristite VBA programiranje umesto makroa ako želite da uradite nešto od sledećeg:

  • Koristite ugrađene funkcije ili pravite sopstvene funkcije    Access uključuje mnogo ugrađenih funkcija, kao što je funkcija IPmt koja izračunava kamatu. Možete da koristite ove ugrađene funkcije za izračunavanja bez potrebe kreiranja komplikovanih izraza. Pomoću VBA koda možete da kreirate sopstvene funkcije za izračunavanja koja premašuju mogućnosti izraza ili za zamenu složenih izraza. Pored toga, možete da koristite funkcije koje kreirate u izrazima da biste primenili uobičajenu operaciju na više objekata.

  • Kreiranje objekata ili manipulisanje njima    U većini slučajeva, videćete da je najlakše da kreirate i menjate objekat u prikazu dizajna tog objekta. U nekim situacijama, međutim, možda ćete želeti da upravljate definicijom objekta u kodu. Koristeći VBA možete da upravljate svim objektima u bazi podataka, osim same baze podataka.

  • Izvršavanje radnji na nivou sistema    Možete izvršiti radnju RunApp u makrou da biste pokrenuli neki drugi program (kao što je Microsoft Excel) iz programa Access, ali ne možete da koristite makro da biste uradili više izvan programa Access. Pomoću VBA koda možete da proverite da li datoteka postoji na računaru, da koristite automatizaciju ili Dynamic Data Exchange (DDE) da biste komunicirali sa drugim Microsoft Windows programima kao što je Excel i da pozivate funkcije Windows biblioteka dinamičkih veza (DLL).

  • Upravljanje zapisima jedan po jedan    Možete da koristite VBA za prolazak kroz skup zapisa, jedan po jedan i za izvršavanje operacije na svakom zapisu. Nasuprot tome, makroi rade sa celim skupovima zapisa odjednom.

Vrh stranice

Koristite čarobnjak komandnog dugmeta da biste izvršavali uobičajene zadatke programiranja

Ako želite da dodate komandno dugme u obrazac, čarobnjak za komandno dugme će vam pomoći da započnete programiranje. Ovaj čarobnjak vam pomaže da kreirate komandno dugme koje izvršava određeni zadatak. U Access (.accdb) datoteci, čarobnjak će kreirati makro koji je ugrađen u svojstvo OnClick komandnog dugmeta. U .mdb ili .adp datoteci čarobnjak kreira VBA kôd jer ugrađeni makroi nisu dostupni u tim formatima datoteka. U svakom slučaju, onda možete da izmenite ili poboljšate makro ili VBA kôd da bi više odgovarao vašim potrebama.

  1. U okviru za navigaciju kliknite desnim tasterom miša na obrazac kojem želite da dodate komandno dugme, a zatim izaberite opciju Prikaz dizajna.

  2. Na kartici Dizajn kliknite na strelicu nadole da biste prikazali galeriju Kontrole, a zatim proverite da li je izabrana opcija Koristi čarobnjake za kontrolu.

  3. Na kartici Dizajn, u galeriji Kontrole izaberite stavku Dugme.

  4. U koordinatnoj mreži za dizajn obrasca, kliknite na mesto na koje želite da stavite komandno dugme.

    Pokreće se čarobnjak za komandno dugme.

  5. Na prvoj stranici čarobnjaka, kliknite na svaku kategoriju na listi Kategorije da biste videli koje radnje čarobnjak može da programira kako bi ih komandno dugme izvršilo. Sa liste Radnje izaberite radnju koju želite, a zatim kliknite na dugme Dalje.

  6. Izaberite jednu od opcija Tekst ili Slika, u zavisnosti od toga da li želite da tekst ili slika budu prikazani na komandnom dugmetu.

    • Ako želite da tekst bude prikazan, možete da uredite tekst u polju pored opcije Tekst.

    • Ako želite da se prikaže slika, čarobnjak predlaže sliku na listi. Ako želite da izaberete neku drugu sliku, potvrdite izbor u polju za potvrdu Prikaži sve slike da biste prikazali listu svih slika komandnog dugmeta koje Access pruža ili kliknite na dugme Potraži da biste izabrali sliku koja je uskladištena na drugoj lokaciji.

      Kliknite na dugme Dalje.

  7. Unesite smisleno ime za komandno dugme. Ovo je opcionalan korak, a ovo ime se ne prikazuje na komandnom dugmetu. Međutim, dobra ideja je da unesete smisleno ime tako da kada treba da uputite kasnije na komandno dugme (na primer ako podešavate redosled kartica za kontrole na obrascu), biće vam mnogo lakše da razlikujete komandnu dugmad. Ako komandno dugme zatvara obrazac, na primer, možete mu dati ime cmdClose ili CommandClose.

  8. Kliknite na dugme Završi.

    Access će postaviti komandno dugme u obrascu.

  9. Ako želite da vidite šta je čarobnjak „programirao” za vas, pratite ove opcionalne korake:

    1. Ako list sa svojstvima nije prikazan, pritisnite F4 da biste ga prikazali.

    2. Izaberite karticu Događaj na listu sa svojstvima.

    3. U polju za svojstvo Na klik kliknite na dugme Napravi Slika dugmeta .

      Access pokreće alatku „Izrada makroa“ i prikazuje makro koji je kreirao čarobnjak. Ako želite, možete da uredite makro (za više informacija o tome kako da uredite makro, pogledajte odeljak Razumevanje makroa). Kada završite, na kartici Dizajn, u grupi Zatvori kliknite na dugme Zatvori da biste zatvorili alatku „Izrada makroa“. Ako Access od vas traži da sačuvate promene i ažurirate svojstvo, kliknite na Da da ih sačuvate ili na Ne da odbacite promene.

  10. Na kartici Dizajn, u grupi Prikazi, kliknite na dugme Prikaži, a zatim izaberite stavku Prikaz obrasca. Kliknite na novo komandno dugme da biste potvrdili da radi onako kako ste očekivali.

Vrh stranice

Razumevanje makroa

Makro je alatka koja vam omogućava da automatizujete zadatke i dodate funkcionalnost u obrasce, izveštaje i kontrole. Na primer, ako dodate komandno dugme u obrazac, možete povezati svojstvo događaja OnClick dugmeta sa makroom koji sadrži komande koje želite da dugme izvršava svaki put kada se klikne na njega.

Korisno je da Access makroe posmatrate kao pojednostavljeni programski jezik u kojem kreirate kôd tako što pravite listu radnji za izvršavanje. Kada kreirate makro, svaku radnju birate sa padajuće liste, a zatim unosite potrebne informacije za svaku radnju. Makroi vam omogućavaju da dodate funkcije u obrasce, izveštaje i kontrole bez pisanja koda u VBA modulu. Makroi obezbeđuju podskup komandi koje su dostupne u VBA modulu, a većini ljudi je lakše da izrade makro nego da napišu VBA kôd.

Možete da kreirate makro tako što ćete koristiti alatku „Izrada makroa“ koja je prikazana na sledećoj slici.

Alatka „Izrada makroa“ u programu Access 2010

Napomena : Imajte na umu da je alatka „Izrada makroa“ u programu Access 2007 drugačija nego na slici iznad. U programu Access 2007 „Izrada makroa“ je niz redova i kolona koji navode razne radnje vašeg makroa.

Da biste prikazali alatku „Izrada makroa“:

  • Na kartici Kreiranje, u grupi Makroi i kôd kliknite na dugme Makro.

Vrh stranice

Razumevanje VBA koda

Poput makroa, VBA vam omogućava da dodate automatizaciju i ostale funkcije Access aplikacije. Možete da proširite VBA pomoću kontrola nezavisnih proizvođača i možete da napišete sopstvene funkcije i procedure za svoje potrebe.

Brz način da počnete sa VBA programiranje je da prvo napravite Access makro, a zatim da ga konvertujete u VBA kôd. Uputstva za ovo nalaze se u odeljku Konvertovanje makroa u VBA kôd. Ova opcija kreira novi VBA modul koji izvršava ekvivalentne operacije u makrou. Takođe otvara Visual Basic Editor tako da možete da počnete sa izmenom procedure. Kada radite u programu Visual Basic Editor, možete da kliknete na ključne reči i pritisnite taster F1 da biste pokrenuli Access pomoć za projektante i saznali više o svakoj ključnoj reči. Zatim možete da istražite Access pomoć za projektante i otkrijte nove komande da biste lakše izvršili željene zadatke programiranja.

Vrh stranice

Konvertovanje makroa u VBA kôd

Možete da koristite Access da biste automatski konvertovali makroe u VBA module ili module klase. Možete da konvertujete makroe koji su vezani za obrazac ili izveštaj, bilo da postoje kao odvojeni objekti ili ugrađeni makroi. Takođe možete da konvertujete opšte makroe koji nisu povezani sa određenim obrascem ili izveštajem.

Napomena : Možete dodati Visual Basic for Applications (VBA) kôd u veb bazu podataka; međutim, ne možete da pokrenete taj kôd dok je baza podataka pokrenuta u veb pregledaču. Ako veb baza podataka sadrži VBA kôd, prvo morate da otvorite veb bazu podataka pomoću programa Access da biste mogli da pokrenete kôd. Da biste izvršili zadatke programiranja u veb bazi podataka, koristite Access makroe.

Konvertovanje makroa koji su vezani za obrazac ili izveštaj

Ovaj proces konvertuje u VBA bilo koje makroe na koje upućuje (ili koji su ugrađeni) obrazac ili izveštaj (ili bilo koja od njegovih kontrola) i dodaje VBA kôd u modul klase obrasca ili izveštaja. Modul klase postaje deo obrasca ili izveštaja i premešta se sa obrascem ili izveštajem ako se on premešta ili kopira.

  1. U oknu za navigaciju kliknite desnim tasterom miša na obrazac, a zatim izaberite stavku Prikaz dizajna.

  2. Na kartici Dizajn, u grupi Alatke izaberite stavku Konvertuj makroe obrasca u Visual Basic ili Konvertuj makroe izveštaja u Visual Basic.

  3. U dijalogu Konvertuj makroe obrasca ili Konvertuj makroe izveštaja izaberite da li želite da Access doda kôd za upravljanje greškom u funkcije koje generiše. Isto tako, ako imate komentare u makroima, izaberite da li želite da oni budu uključeni kao komentaru u funkcijama. Kliknite na Konvertuj da biste nastavili.

    Ako ne postoji modul klase za obrazac ili izveštaj, Access ga kreira i dodaje proceduru u modul za svaki makro koji je povezan sa obrascem ili izveštajem. Acess menja svojstva događaja obrasca ili izveštaja tako da ona pokreću nove VBA procedure umesto makroa.

  4. Da biste prikazali i uredili VBA kôd:

    1. Dok je obrazac ili izveštaj još uvek otvoren u prikazu dizajna, ako list sa svojstvima nije prikazan, pritisnite taster F4 da biste ga prikazali.

    2. Na kartici Događaj lista sa svojstvima kliknite na bilo koje polje za svojstvo koje prikazuje [Procedura događaja], a zatim kliknite na dugme „Napravi“ Slika dugmeta . Da biste prikazali svojstva događaja za određenu kontrolu, kliknite na kontrolu da biste je izabrali. Da biste prikazali svojstva događaja za ceo obrazac ili izveštaj, izaberite Oblik ili Izveštaj sa padajuće liste na vrhu lista sa svojstvima.

      Access otvara Visual Basic Editor i prikazuje proceduru događaja u modulu klase. Možete da se pomerite nagore ili nadole da biste prikazali druge procedure koje su u istom modulu klase.

Konvertovanje globalnih makroa

  1. U oknu za navigaciju kliknite desnim tasterom miša na makro koji želite da konvertujete, a zatim izaberite stavku Prikaz dizajna.

  2. Na kartici Dizajn, u grupi Alatke izaberite stavku Konvertuj makroe u programu Visual Basic.

  3. U dijalogu Konvertovanje makroa izaberite opcije koje želite, a zatim kliknite na dugme Konvertuj.

    Access konvertuje makro i otvara Visual Basic Editor.

  4. Da biste prikazali i uredili VBA kôd:

    1. U programu Visual Basic Editor, ako okno „Istraživač projekta“ nije prikazano, u meniju Prikaz izaberite stavku Istraživač projekta.

    2. Proširite stablo ispod imena baze podataka u kojoj radite.

    3. U okviru Moduli kliknite dvaput na modul Konvertovani makro – ime makroa.

      Visual Basic Editor otvara modul.

Prilaganje VBA funkcije svojstvu događaja

Kada konvertujete globalni makro u VBA, VBA kôd se stavlja u standardni modul. Za razliku od modula klase, standardni modul nije deo obrasca ili izveštaja. Verovatno ćete želeti da dodelite funkciju sa svojstvom događaja u obrazac, izveštaj ili kontrolu tako da se kôd pokreće tačno kada i gde želite. Da biste to uradili, možete da kopirate VBA kôd u modul klase, a zatim da ga povežete sa svojstvom događaja ili možete da napravite poseban poziv iz svojstva događaja u standardni modul pomoću sledeće procedure.

  1. U programu Visual Basic Editor zabeležite ime funkcije. Na primer, ako ste konvertovali makro koji se zove MojMakro, ime funkcije će biti MojMakro().

  2. Zatvorite Visual Basic Editor.

  3. U oknu za navigaciju kliknite desnim tasterom miša na obrazac ili izveštaj sa kojim želite da povežete funkciju, a zatim izaberite stavku Prikaz dizajna.

  4. Kliknite na kontrolu ili odeljak sa kojim želite da povežete funkciju.

  5. Ako list sa svojstvima nije prikazan, pritisnite F4 da biste ga prikazali.

  6. Na kartici Događaj lista sa svojstvima kliknite na polje za svojstvo događaja sa kojim želite da povežete funkciju.

  7. U polju za svojstvo otkucajte znak jednakosti (=), a zatim ime funkcije – na primer, =MojMakro(). Obavezno stavite zagrade.

  8. Sačuvajte obrazac ili izveštaj tako što ćete kliknuti na Sačuvaj na priručnoj traci.

  9. U oknu za navigaciju kliknite dvaput na obrazac ili izveštaj i testirajte ga da biste videli da li kôd radi kako treba.

Sada znate osnovne korake za dodavanje VBA koda u bazu podataka. Ovaj članak opisuje samo osnove prvih koraka; postoji mnogo sjajnih uputstava i resursa na mreži koja mogu da vam pomognu da izgradite veštine programiranja.

Vrh stranice

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×