Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

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. Ez a cikk segítséget nyújt a Access programozási eszközeinek eléréséhez.

Tartalom

Mi az a programozás?

A Access-ben a programozás az a folyamat, amely Access makrók vagy Visual Basic for Applications (VBA-) kód használatával ad hozzá funkciókat az adatbázishoz. 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 zavaró lehet Access felhasználók számára, mert Access a "makró" kifejezés a Makrószerkesztővel összeállítható makróműveletek nevesített gyűjteményére utal. Access makróműveletek a VBA-ban elérhető parancsok csak egy részét képviselik. 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 Access súgócikkekben Access makrókat makróknak nevezzük. 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 a Access kívül eső tényezők is kiválthatják, 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ágának biztosítása érdekében próbáljon meg makrókat használni, amikor csak lehet, és csak olyan műveletekhez használjon VBA-programozást, amelyeket nem lehet makróműveletekkel végrehajtani. Emellett érdemes csak olyan makróműveleteket használni, amelyek futtatásához nincs szükség megbízható állapot megadására az adatbázis számára. Ha így korlátozza a makróműveletek használatát, a felhasználók biztosak lehetnek abban, hogy az adatbázis nem rendelkezik olyan programozással, amely kárt tehetne a számítógépeiken lévő adatokban vagy más fájlokban.

Megfontolandó szempontok makrókhoz

AAccess 2010 kiadásától kezdődően a Access számos új makróműveletet tartalmaz, amelyek lehetővé teszik, hogy a Access korábbi verzióinál hatékonyabb makrókat készítsen. 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. A Access korábbi verzióiban ezek a funkciók csak VBA használatával érhetők el. 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ók számos programozási feladat, például az űrlapok megnyitása és bezárása, valamint a jelentések futtatásának egyszerű módját biztosítják. Gyorsan és egyszerűen összekapcsolhatja a létrehozott adatbázis-objektumokat (űrlapokat, jelentéseket stb.), mert kevés szintaxist kell megjegyeznie. Az egyes műveletek argumentumai a Makrószerkesztőben jelennek meg.

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:

  • Használjon beépített függvényeket, vagy hozzon létre saját függvényeket    ,Access számos beépített függvényt tartalmaz, például az IPmt függvényt , amely kiszámítja a kamatfizetést. 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ás műveletet makrókban hajthatja végre egy másik program (például a Microsoft Excel) futtatásához a Access belülről, de a makrók nem használhatók a Access kívülre. 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 kezelése egyenként    A VBA használatával végiglépkedhet egy rekordkészleten, egyszerre egy rekordon, és minden rekordon végrehajthat egy műveletet. Ezzel szemben a makrók egyszerre teljes rekordhalmazokkal működnek.

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. Egy Access (.accdb) fájlban a varázsló létrehoz egy makrót, amely a parancsgomb OnClick 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. Az Űrlaptervező lapon kattintson a lefelé mutató nyílra a Vezérlők gyűjtemény megjelenítéséhez, majd győződjön meg arról, hogy a Vezérlővarázslók használata beállítás be van jelölve.

  3. Az Űrlaptervezés lap Vezérlők gyűjteményében kattintson a Gomb gombra.

  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 kijelölni, jelölje be a Minden kép megjelenítése jelölőnégyzetet az Access által biztosított parancsgombképek listájának megjelenítéséhez, vagy kattintson a Tallózás gombra egy máshol tárolt kép kijelöléséhez.

      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.

    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 Létrehozás gombra Gomb képe.

      Access elindítja a Makrószerkesztőt, és megjeleníti a varázsló által 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 Makrótervező lap Bezárás csoportjában kattintson a Bezárás gombra a Makrószerkesztő bezárásához. Ha Access kéri a módosítások mentését és a tulajdonság frissítését, kattintson az Igen gombra a módosítások mentéséhez, vagy a Nem gombra a módosítások elutasításához.

  10. Az Űrlapterv lap Nézetek csoportjában kattintson a Nézet, majd az Űrlapnézet elemre. 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.

Hasznos lehet úgy tekinteni a makrók Access, mint egy egyszerűsített programozási nyelvre, amelyben kódot hozhat létre a végrehajtandó műveletek listájának létrehozásával. 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ő

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 is lehetővé teszi az automatizálás és egyéb funkciók hozzáadását a Access alkalmazáshoz. 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.

A VBA-programozás első lépéseinek gyors módja, ha először létrehoz egy Access makrót, majd átalakítja azt 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. Amikor a Visual Basic Szerkesztő dolgozik, a kulcsszavakra kattintva az F1 billentyű lenyomásával elindíthatja Access fejlesztői súgót, és további információkat tudhat meg az egyes kulcsszavakról. Ezután megismerheti Access Fejlesztői súgót, és új parancsokat fedezhet fel, amelyekkel elvégezheti a kívánt programozási feladatokat.

Vissza a lap tetejére

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

A Access használatával automatikusan VBA-modulokká vagy osztálymodulokká alakíthatja a 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.

Ű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. Az Űrlaptervező lap Eszközök csoportjában kattintson az Űrlap makróinak konvertálása Visual Basic formátumba vagy a Jelentés makróinak konvertálása Visual Basic formátumba elemre.

  3. Az Űrlapmakrók konvertálása vagy a Jelentésmakrók konvertálása párbeszédpanelen válassza ki, hogy Access szeretne-e hibakezelő kódot adni a létrehozott 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, Access létrehoz egyet, és hozzáad egy eljárást a modulhoz az űrlaphoz vagy jelentéshez társított összes makróhoz. Access az űrlap vagy jelentés eseménytulajdonságait is módosítja, hogy a makrók helyett az új VBA-eljárásokat futtassa.

  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 egy olyan tulajdonságmezőbe, amely megjeleníti az [Esemény eljárása] elemet, majd kattintson a build 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.

      Access megnyitja a Visual Basic Szerkesztő, és megjeleníti az eseményeljárást a osztálymodulban. 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. A Makrótervezés lap Eszközök csoportjában kattintson a Makrók konvertálása Visual Basic formátumba elemre.

  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.

    Access konvertálja a makrót, és megnyitja a Visual Basic Szerkesztő.

  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.

Lásd még

Felhasználóifelület-makró létrehozása

Access-makrók futtatása billentyűparancsokkal

Indítási események automatizálása makróval

Az adatbázis megnyitásakor futtatandó makró létrehozása

Az adatbázis-objektumok eseménysorrendje

Vissza a lap tetejére

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

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

×