Applies ToMicrosoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

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 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

Access számos új makróműveletet tartalmaz, amelyekkel hatékonyabb makrókat hozhat létre, mint a Access korábbi verzióival. 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 Editorban dolgozik, kattintson a kulcsszavakra, és nyomja le az F1 billentyűt Access fejlesztői súgó elindításához, és tudjon meg többet 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 Editort, és megjeleníti az eseményeljárást az 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 Editort.

  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.