Bevezetés az Access programozásába

Adatbázis létrehozásakor az első lépés jellemzően az, hogy számos adatbázis-objektumot hoz létre, például táblákat, űrlapokat és jelentéseket. Előbb-utóbb azonban programozással automatizálnia kell egyes folyamatokat, és összekötnie az adatbázis-objektumokat. A cikk segít megismerkedni az Access programozási eszközeivel.

Tartalom

Mi az a programozás?

Makrókat vagy VBA-kódot használjak?

Gyakori programozási műveletek elvégzése a Parancsgomb varázslóval

A makrók működése

A VBA-kód működése

Makró konvertálása VBA-kóddá

Mi az a programozás?

Az Accessben a programozás során funkciókat rendel az adatbázishoz Access-makrók vagy Visual Basic for Applications (VBA) -kód használatával. Tegyük fel, hogy létrehozott egy űrlapot és egy jelentést, és az űrlaphoz szeretne hozzáadni egy parancsgombot, amelyre kattintva megnyílik a jelentés. A programozás ez esetben azt jelenti, hogy létrehoz egy makrót vagy VBA-eljárást, majd a parancsgomb Kattintásra eseménytulajdonságát úgy állítja be, hogy a parancsgombra kattintva lefusson a makró vagy az eljárás. Egyszerű műveletekhez, mint amilyen egy jelentés megnyitása, a Parancsgomb varázslóval mindenről gondoskodhat, de azt akár ki is kapcsolhatja, és programozhat önállóan.

Megjegyzés : Számos Microsoft Office-alkalmazásban a „makró” kifejezés a VBA-kódot takarja. Ez Access-felhasználók számára zavaró lehet, mert az Accessben a "makró" kifejezés névvel ellátott makróműveletekre utal, amelyeket a Makrószerkesztővel állíthat össze. Az Access-makróműveletek a VBA-ban elérhető parancsoknak csak egy részét képezik. A Makrószerkesztő rendezettebb felületet biztosít a Visual Basic Editornál, így a VBA-kódolás ismerete nélkül programozhat vezérlőelemeket és objektumokat. Ne feledje, hogy az Access-makrók egyszerűen makróként szerepelnek az Access súgócikkeiben. A VBA-kód azonban VBA-kódként, -funkcióként vagy -eljárásként fordul elő. A VBA-kód osztálymodulokban (amelyeket adott űrlapok vagy jelentések részét képezik, és jellemzően csak ezen objektumok kódjait foglalják magukban) és modulokban (amelyek nem egyes objektumokhoz kötöttek, és jellemzően a teljes adatbázisban használható, globális kódot tartalmaznak) található meg.

Az objektumoknak (például űrlapok vagy jelentések) és a vezérlőelemeknek (például parancsgomboknak vagy szövegdobozoknak) számos eseménytulajdonsága van, amelyhez makró vagy eljárás csatolható. Minden egyes eseménytulajdonság egy adott eseményhez – például egérkattintáshoz, űrlap megnyitásához, szövegdoboz adatainak módosításához – kapcsolódik. Az eseményeket beindíthatják Access-en kívüli tényezők is, például rendszeresemények vagy más eseményekhez csatolt makrók vagy eljárások. Az adatbázis meglehetősen összetetté válhat, ha sok objektum sok eseménytulajdonságához ad makrókat vagy eljárásokat, de a legtöbb esetben minimális programozással is megvalósíthatja, amit szeretne.

Vissza a lap tetejére

Makrókat vagy VBA-kódot használjak?

Azt, hogy makrókat, VBA-t vagy mindkettőt használja, legfőképpen attól függ, miként kívánja felhasználni vagy terjeszteni az adatbázist. Ha például az adatbázist a számítógépén tárolja, és Ön az egyetlen felhasználó, továbbá gyakorlott a VBA-kódolásban, akkor célszerű lehet a VBA-t használni a legtöbb programozási feladat végrehajtásához. Ha azonban fájlkiszolgálóra feltöltve más személyekkel is szeretné megosztani az adatbázist, akkor biztonsági okokból célszerű kerülni a VBA-használatot.

A makrók és a VBA-kód használata között két szempont alapján kell döntést hoznia: biztonság és a kívánt funkcionalitás. Biztonsági aggályokat az vet fel, hogy VBA-val olyan kódok is létrehozhatók, amelyek veszélyeztetik az adatok biztonságát, vagy kárt tehetnek a számítógépen tárolt fájlokban. Ha nem saját készítésű adatbázist használ, akkor csak abban az esetben engedélyezze a VBA-kódot, ha az adatbázis biztosan megbízható forrásból származik. Ha olyat adatbázist készít, amelyet mások is használni fognak, törekedjen olyan programozási eszközök alkalmazására, amelyek nem igénylik, hogy a felhasználók külön megbízhatónak minősítsék az adatbázist. Általános ötleteket olyan adatbázis létrehozására, amelyet a felhasználóknak nem szükséges megbízhatóvá minősíteniük, a jelen szakasz folytatásában talál.

Az adatbázis biztonsága érdekében – amikor csak teheti – használjon makrókat. VBA-programozáshoz csak olyan műveletek miatt folyamodjon, amelyekre alkalmatlanok a makrók. Továbbá próbáljon olyan makróműveleteket használni, amelyek futtatásához nem szükséges megbízhatóvá minősíteni az adatbázist. Ha ilyen módon korlátozza a makróműveleteket, azzal azt jelzi a felhasználóknak, hogy az adatbázis nem veszélyes a számítógépükön tárolt adatokra vagy más fájlokra.

Megfontolandó szempontok makrókhoz

Az Access a 2010-es kiadása óta számos új makróműveletet foglal magában, amelyek jóval nagyobb mozgásteret biztosítanak, mint az Access korábbi verzióiban. Immár létrehozhat és használhat például globális ideiglenes változókat makróműveletekkel, az új hibakezelő makróműveletekkel pedig jóval elegánsabbá válik a hibaelhárítás. Az Access korábbi verzióiban az ilyen típusú funkciók csak VBA-val voltak elérhetők. Ezenkívül a makrókat közvetlenül az objektum vagy a vezérlő eseménytulajdonságába ágyazhatja be. A beágyazott makró az objektum vagy vezérlőelem része marad akkor is, ha az objektumot vagy a vezérlőelemet áthelyezik vagy átmásolják.

A makrókkal egyszerűen végezhető el számos programozási feladat, például az űrlapok megnyitása vagy bezárása vagy a jelentések futtatása. A létrehozott adatbázis-objektumokat (űrlapok, jelentések stb.) gyorsan és egyszerűen összekötheti, mert kevés szintaxist kell észben tartania. Az egyes műveletek argumentumai láthatók a Makrószerkesztőben.

Amellett, hogy nagyobb biztonságot és jobb használhatóságot jelentenek, a makrókat kell használni ezen feladatok létrehozásához:

  • Műveletek hozzárendelése billentyűparancshoz. Ehhez az AutoKeys nevű makrócsoportot kell létrehozni.

  • Műveletek végrehajtása adatbázis első megnyitásakor. Ehhez az AutoExec nevű makrót kell létrehozni.

    Megjegyzés :  Az AutoExec makró minden egyéb makró vagy VBA-kód előtt fut még akkor is, ha megadott egy indítási űrlapot Az Access beállításai párbeszédpanelben, és az űrlap Megnyitásra vagy Betöltésre eseményéhez hozzárendelt egy makrót vagy VBA-kódot.

További információt makrók készítéséről A makrók működése szakaszban talál.

Megfontolandó szempontok VBA-hoz

Akkor használjon makrók helyett VBA-kódot, ha az alábbiak egyikét tervezi:

  • Beépített függvények használata, vagy saját függvények létrehozása    Az Accessben számos beépített függvény található, például a RRÉSZLET nevű, amely kamatot számol. Ezekkel a beépített függvényekkel számításokat végezhet anélkül, hogy bonyolult kifejezéseket hozna létre. VBA-kóddal saját függvényeket is létrehozhat, amelyekkel egyrészt a kifejezések kapacitását meghaladó számításokat végezhet, másrészt bonyolult kifejezéseket helyettesíthet. A kifejezésekben létrehozott függvényeket emellett arra is használhatja, hogy gyakori műveleteket több objektumban is alkalmazzon.

  • Objektumok létrehozása vagy kezelése    Objektumokat jellemzően a Tervező nézetében lehet legkönnyebben létrehozni vagy módosítani. Bizonyos esetekben azonban az objektumkód definícióját célszerű módosítani. Ha VBA-t használ, az adatbázison felül annak minden objektumát is módosíthatja.

  • Rendszerszintű műveletek végrehajtása    Az AlkalmazásFuttatása makróműveletet végrehajtva egy másik programot (például a Microsoft Excelt) futtathat az Accessből, de makrókkal nem sok mindent kezdhet az Accessen kívül. VBA használatával ellenőrizheti, hogy egy adott fájl megtalálható-e a számítógépen; az Automation vagy a Dynamic Data Exchange (DDE) használatával más Microsoft Windows-alapú programokkal– például az Excellel – kommunikálhat; és függvényeket hívhat meg dinamikus csatolású függvénytárakban (DLL-ekben).

  • Rekordok egyenkénti kezelése   ˘A VBA-val – rekordonként – végighaladhat rekordok egy csoportján, és minden rekordban végrehajthat egy műveletet. Ezzel szemben a makrók teljes rekordkészleteket kezelnek egyszerre.

Vissza a lap tetejére

Gyakori programozási műveletek elvégzése a Parancsgomb varázslóval

Ha parancsgombot ad egy űrlaphoz, a Parancsgomb varázsló segít a programozás alaplépéseiben. A varázsló segítségével létrehozhat egy adott feladatot végrehajtó parancsgombot. Access-fájlokban (.accdb) a varázsló létrehoz egy makrót, amely a parancsgomb Kattintásra tulajdonságába van beágyazva. .mdb vagy .adp formátumú fájlokban a varázsló VBA-kódot hoz létre, mert a beágyazott makrók nem érhetők el ezekben a fájlformátumokban. A makró és a VBA-kód is szerkeszthető és bővíthető azonban, hogy jobban megfeleljen az igényeinek.

  1. Kattintson a jobb gombbal a navigációs ablakban arra az űrlapra, amelyhez parancsgombot szeretne hozzáadni, majd kattintson a Tervező nézet parancsra.

  2. A Tervezés lapon a lefelé mutató nyílra kattintva jelenítse meg a Vezérlők tárát, és győződjön meg róla, hogy a Vezérlőelem varázslók használata lehetőség be van jelölve.

  3. A Tervezés lap Vezérlők csoportjában kattintson a Gomb elemre.

  4. Az űrlaptervezési rácson kattintson a parancsgomb kívánt helyére.

    Elindul a Parancsgomb varázsló.

  5. A varázsló első lapján a Kategóriák listában található elemeken végigkattintva láthatja, mely műveletek végrehajtását képes a varázsló a parancsgombhoz programozni. A Műveletek listában válassza ki a kívánt műveletet, és kattintson a Tovább gombra.

  6. Kattintson a Szöveg vagy a Kép lehetőségre attól függően, hogy a parancsgombon szöveget vagy képet szeretne látni.

    • Ha szöveget jelenítene meg, azt a Szöveg lehetőség melletti mezőben szerkesztheti.

    • Ha képet szeretne megjeleníteni, a varázsló ajánl egy képet a listából. Ha másik képet szeretne, jelölje be Az összes kép megjelenítése jelölőnégyzetet az Accessben elérhető összes parancsgombkép megjelenítéséhez, vagy a Tallózás lehetőségre kattintva válasszon máshol tárolt képet.

      Kattintson a Tovább gombra.

  7. Adjon meg egy leíró jellegű nevet a parancsgombhoz. Ez a lépés nem kötelező, és az itt megadott név nem jelenik meg a parancsgombon. Érdemes azonban megadni egy beszédes nevet, mert ha később hivatkozni kell erre a parancsgombra (például ha a vezérlőelemek bejárási sorrendjét állítja be az űrlapon), akkor könnyebben megkülönböztethető lesz a többitől. Ha a parancsgomb az űrlapot zárja be, akkor adhatja neki például a „bezárásparancs” vagy a „BezárásParancs” nevet.

  8. Kattintson a Befejezés gombra.

    Az Access elhelyezi a parancsgombot az űrlapon.

  9. Ha látni szeretné, mit programozott be a varázsló, kövesse ezeket az opcionális lépéseket:

    1. Ha a tulajdonságlap még nem látható, jelenítse meg az F4 billentyűt lenyomva.

    2. A tulajdonságlapon kattintson az Esemény fülre.

    3. A Kattintásra tulajdonságmezőben kattintson a Szerkesztés gombra Gomb képe .

      Az Access elindítja a Makrószerkesztőt, és megjeleníti a varázslóval létrehozott makrót. A makró igény szerint módosítható (további információt makrók szerkesztéséről A makrók működése című szakaszban talál). Ha végzett, a Tervezés lap Bezárás csoportjának Bezárás elemére kattintva lépjen ki Makrószerkesztőből. Ha az Access megkérdezi, hogy mentse-e a módosításokat, és frissítse-e a tulajdonságot, az Igen lehetőségre kattintva mentheti a változtatásokat, a Nem elemre kattintva pedig elvetheti őket.

  10. A Tervezés lap Nézetek csoportjában kattintson a Nézet gombra, majd válassza az Űrlap nézet lehetőséget. Az új parancsgombra kattintva erősítse meg, hogy a várt módon működik.

Vissza a lap tetejére

A makrók működése

A makrók olyan eszközök, amelyekkel automatizálhatók feladatok, és funkcionalitás adható űrlapoknak, jelentéseknek és vezérlőelemeknek. Ha például parancsgombot ad egy űrlaphoz, akkor a gomb Kattintásra eseménytulajdonságát egy olyan makróval társítja, amely a gombra kattintva végrehajtandó parancsokat tartalmazza.

Gondoljon úgy az Access-makrókra, mint egyszerűsített programnyelvre, amelyben végrehajtandó műveletek listáját építve hoz létre kódot. Amikor makrót készít, akkor minden egyes műveletet egy legördülő menüből választ ki, majd megadja az egyes műveletek egyéb szükséges adatait. A makrókkal funkcionalitás adható űrlapoknak, jelentéseknek és vezérlőelemeknek anélkül, hogy VBA-modulban írna kódot. A makrók a VBA-ban elérhető parancsoknak csak egy részét alkotják, és makrót készíteni jellemzően egyszerűbb, mint VBA-kódot írni.

Makrót a Makrószerkesztővel lehet készíteni, amit az alábbi ábrán mutatunk be.

Az Access 2010 Makrószerkesztő

Megjegyzés : Fontos megjegyezni, hogy az Access 2007 Makrószerkesztője különbözik a fenti ábrán láthatótól. Az Access 2007-ben a Makrószerkesztő sorok és oszlopok sorozata volt, amelyek a makró különböző műveleteit foglalták magukban.

A Makrószerkesztő megjelenítése:

  • Kattintson a Létrehozás lap Makrók és kódok csoportjában a Makró gombra.

Vissza a lap tetejére

A VBA-kód működése

A makrókhoz hasonlóan a VBA segítségével többek közt automatizálhatók egyes feladatok az Access alkalmazásban. A VBA külső felektől származó vezérlőkkel bővíthető, de saját függvényeket és eljárásokat is írhat egyéni igényeinek megfelelően.

Ha gyorsan szeretne haladni a VBA-programozással, először hozzon létre egy Access-makrót, majd konvertálja VBA-kóddá. Ennek lépéseit a Makró konvertálása VBA-kóddá című szakaszban találja. Ez a funkció egy új VBA-modult hoz létre, amely a makróban szereplő művelettel azonosat hajt végre. Megnyílik továbbá a Visual Basic Editor is, így szerkesztheti az eljárást. Ha a Visual Basic Editorban dolgozik, kattintson a kulcsszavakra, majd az F1 billentyűt lenyomva indítsa el az Access fejlesztői súgóját, ahol további információkhoz juthat az egyes kulcsszavakról. Az Access fejlesztői súgóját böngészve új parancsokat találhat, amelyek segítenek a tervezett programozási feladatok végrehajtásában.

Vissza a lap tetejére

Makró konvertálása VBA-kóddá

Az Access képes automatikusan VBA- vagy osztálymodulokká konvertálni makrókat. Űrlapokhoz vagy jelentésekhez kapcsolt makrókat is konvertálhat attól függetlenül, hogy ezen makrók különálló objektumok vagy beágyazottak. Azokat a globális makrókat is konvertálhatja, amelyek nem kapcsolódnak űrlapokhoz vagy jelentésekhez.

Megjegyzés : VBA-kódot hozzáadhat webes adatbázisokhoz, de a kód nem futtatható addig, amíg az adatbázis webböngészőben fut. Ha a webes adatbázis VBA-kódot tartalmaz, a kód futtatása előtt először meg kell nyitni a webes adatbázist az Access használatával. Ha programozni szeretne webes adatbázisban, használjon Access-makrókat.

Űrlapokhoz vagy jelentésekhez csatolt makrók konvertálása

A folyamat során VBA-kóddá alakul minden makró, amelyre űrlap vagy jelentés hivatkozik (vagy amely ezekbe van beágyazva), a VBA-kód pedig bekerül az űrlap vagy jelentés osztálymoduljába. A osztálymodul az űrlap vagy jelentés része marad még áthelyezés vagy másolás során is.

  1. A navigációs ablakban kattintson a jobb gombbal a megfelelő űrlapra vagy jelentésre, majd válassza a Tervező nézet parancsot.

  2. A Tervezés lap Eszközök csoportjában kattintson az Űrlap makróinak konvertálása Visual Basicbe vagy a Jelentés makróinak konvertálása Visual Basicbe lehetőségre.

  3. A Űrlapmakrók konvertálása vagy a Jelentésmakrók konvertálása párbeszédpanelben határozza meg, hogy szeretné-e, ha az Access hibakezelő kódot adna a generált függvényekhez. Ha a makrók megjegyzéseket is magukban foglalnak, eldöntheti, hogy szeretné-e őket megjegyzésként a függvényekbe foglalni. Kattintson a Konvertálás elemre.

    Ha az űrlaphoz vagy jelentéshez nem tartozik osztálymodul, akkor az Access létrehoz egyet, és minden olyan makróhoz, amely az űrlaphoz vagy jelentéshez lett társítva, felvesz egy eljárást a modulban. Az Access úgy módosítja az űrlap vagy jelentés eseménytulajdonságait, hogy a jövőben a VBA-eljárást futtassák a makrók helyett.

  4. A VBA-kód megtekintése és szerkesztése:

    1. Miközben az űrlap vagy jelentés meg van nyitva a Tervező nézetben, ha a tulajdonságlap még nem látható, jelenítse meg az F4 billentyűt lenyomva.

    2. A tulajdonságlap Esemény lapján kattintson bármely tulajdonságmezőbe, amelynél látható az [Eseményvezérelt eljárás] szöveg, majd kattintson a szerkesztés gombra Gomb képe . Ha meg szeretné tekinteni adott vezérlőelem eseménytulajdonságait, kattintással jelölje ki a vezérlőt. Ha a teljes űrlap vagy jelentés eseménytulajdonságait szeretné látni, válassza az Űrlap vagy a Jelentés elemet a tulajdonság lap tetején található legördülő menüből.

      Az Access megnyitja a Visual Basic Editort, és megjeleníti az eseménytulajdonságot annak osztálymoduljában. Felfelé vagy lefelé görgetve megtekintheti az adott osztálymodul egyéb eljárásait is.

Globális makrók konvertálása

  1. Kattintson a jobb gombbal a navigációs ablakban a konvertálni kívánt makróra, majd kattintson a Tervező nézet parancsra.

  2. Kattintson a Tervezés lap Eszközök csoportjának Makrók konvertálása Visual Basicbe gombjára.

  3. A Makró konvertálása párbeszédpanelben adja meg a kívánt beállításokat, majd kattintson a Konvertálás parancsra.

    Az Access konvertálja a makrót, és megnyitja a Visual Basic Editor alkalmazást.

  4. A VBA-kód megtekintése és szerkesztése:

    1. A Visual Basic Editorban – ha a Projektböngésző ablak nincs nyitva – kattintson a Nézet menü Projektböngésző elemére.

    2. Bontsa ki a fát azon adatbázis neve alatt, amelyben dolgozik.

    3. A Modulok területen kattintson duplán a modulhoz tartozó Konvertált makró- makrónévre.

      A Visual Basic Editor megnyitja a modult.

VBA-függvény csatolása eseménytulajdonsághoz

Ha globális makrót konvertál VBA-kóddá, akkor a VBA-kód a normál modulba kerül. Az osztálymodulokkal ellentétben a normál modulok nem képezik űrlapok vagy jelentések részét. Vélhetően azért szeretne függvényt űrlap, jelentés vagy vezérlőelem eseménytulajdonságával társítani, hogy a kód pontosan akkor és ott fusson, ahol Ön szeretné. Ehhez vagy másolja a VBA-kódot az osztálymodulba, majd társítsa egy eseménytulajdonsággal, vagy egy speciális hívást hajthat végre az eseménytulajdonságból a normál modulba az alábbi eljárás lépéseit követve.

  1. A Visual Basic Editorban jegyezze fel a függvény nevét. Ha például a SajátMakró nevű makrót alakította át, a függvény neve SajátMakró() lesz.

  2. Zárja be a Visual Basic Editort.

  3. Kattintson a jobb gombbal a navigációs ablakban arra az űrlapra vagy jelentésre, amellyel társítani szeretné az adott funkciót, majd kattintson a Tervező nézet parancsra.

  4. Kattintson arra a vezérlőelemre vagy területre, amellyel társítani szeretné a függvényt.

  5. Ha a tulajdonságlap még nem látható, jelenítse meg az F4 billentyűt lenyomva.

  6. A tulajdonságlap Esemény lapján kattintson arra az eseménytulajdonság-mezőre, amellyel társítani szeretné a függvényt.

  7. A tulajdonságmezőbe írjon be egy egyenlőségjelet (=), majd a függvény nevét – például: =SajátMakró(). Ne feledje belefoglalni a zárójeleket.

  8. A Gyorselérési eszköztár Mentés elemére kattintva mentse az űrlapot vagy jelentést.

  9. A navigációs ablakban kattintson duplán az űrlapra vagy jelentésre, és tesztelje, hogy megfelelően fut-e a kód.

Ezzel megtanulta azokat az alapvető lépéseket, amelyekkel VBA-kódot adhat adatbázisához. Ez a cikk csupán az alapismereteket foglalja magában – számos kiváló könyv és online forrás létezik még, amellyel tovább bővítheti programozási tudását.

Vissza a lap tetejére

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×