Objektum és munka a hozzáférési formák révén vba

Egy Access.Form objektum, a VBA-val rendelkező Belépési űrlapokkal együttműködve, egy Access formátum megnyitása, egy Access formában található vezérlőkkel

Az Access egyik legfontosabb eleme, amelyet az alkalmazások széles körben használnak, formák. Az Access formanyomtatványok ugyanúgy készültek, mint a hagyományos VBA formák, elsősorban a grafikus vezérlők konténerei. De az Access formáinak eszköze, azok funkcionalitása, a velük való együttmûködés módjai és még a vezérlõkészletek, amelyeket rá lehet rendelni, nagyon különbözõek a szokásos VBA ûrlapokon, amelyeket a Word és az Excel programban használhat.

Hozzáférési űrlapokat használnak:

  • Bejegyzések szerkesztése az Access adatbázis-táblákban és a külső adatforrásokban. Az ilyen űrlapok létrehozásához nincs szükség semmilyen programozásra - egyszerűen hozzon létre egy űrlapot a Tervező nézetben vagy használja az Űrlap létrehozása varázslót. Külső adatforráshoz (például SQL Server vagy Oracle adatbázishoz) kapcsolódhat a File -> External Data -> Links to tables menüben az Access-ban.
  • Mint az alkalmazás vezérlőpultja. Nagyon gyakran egy Access-alapú alkalmazás létrehoz egy kezdő űrlapot, amely megnyílik az alkalmazás indításakor. Ez az űrlap biztosítja a gombok és egyéb kezelőszervek számára más formák, jelentések, makrók hívását, kilépését az alkalmazásból és más műveleteket. Miután lezárta a többi ellenőrzési formát is át a kezdeti formára.
  • Csak azért, hogy a felhasználónak lehetősége legyen bármilyen műveletet végrehajtani. Például az űrlap felhasználhatja a jelentési paraméterek kiválasztását a felhasználó számára, feltöltheti az adatokat egy külső alkalmazásba (például Excel) stb.

Hogyan lehet együttműködni a VBA hozzáférési űrlapokkal?

Dim oA Mint AccessObject

Mindegyik oA A CurrentProject.AllForms-ban

Ha az AllForms gyűjtemény űrlapjára hivatkozik index szerint, vegye figyelembe, hogy a gyűjtemény űrlapjainak számozása 0-val kezdődik. A gyűjteményben lévő elemeket név szerint is elérheti:

Az IsLoaded egy speciális tulajdonsága határozza meg, hogy ez az űrlap nyitva van-e (azaz RAM-ba töltve).

Programszerűen a formák más módon is megtalálhatók. Az összes nyitott hozzáférési űrlap automatikusan az Application.Forms gyűjteménybe kerül, és űrlapként jelenik meg. Ez már egy olyan normál objektum, amelynek tulajdonságai megfelelnek az űrlap tulajdonságainak, egy grafikus felületen keresztül. Ha például az Form1 formanyomtatvány nyitva van, a szélességéről az alábbiak szerint tájékozódhat:

Debug.Print Application.Forms ("Form 1") Szélesség

Ez a tulajdonság az űrlap szélességének megváltoztatására is használható, de erre a célra a DoCmd.MoveSize () módszer használatát javasoljuk, amely megváltoztatja az aktív objektum méretét (például űrlapunkat, ha aktív):

DoCmd.MoveSize Szélesség: = 10000

Egy másik lehetőség: ha az űrlap kódját vagy annak kezelőszerveit használja (pl. Az űrlapon található gomb Click eseménye), egyszerűen elérheti az űrlap objektumát. Ehhez használja a kulcsszó űrlapot.

Hogyan nyithatom meg az űrlapot?

Az első dolog az, hogy ha egy programot formában kell megnyitni Word-ben vagy Excel-ben, az Access-ban nincs szükség. Az űrlapot manuálisan nyithatja meg az adatbázis ablakából (lásd a 12.1. Ábrát). Ugyanez az ablak általában új formákat hoz létre vagy megváltoztatja a meglévőket.

Objektum és munka a hozzáférési formák révén vba

Ábra. 12.1 Az űrlap ablak az Access alkalmazásban

Egy másik gyakran használt módszer egyszerűen az űrlap futtatását jelenti az Access adatbázis megnyitásakor. Ehhez kattintson az Eszközök menü Startup Options (Indítás opciók) pontjára, és válassza ki a kívánt űrlapot a Kimeneti űrlap / oldal listában. Ha törli az összes többi jelölőnégyzetet, akkor az alkalmazás úgy néz ki, mint a 3. ábrán látható. 12.2:

Objektum és munka a hozzáférési formák révén vba

Ábra. 12.2 Minden extra Hozzáférési funkció rejtve van a felhasználótól

Az adatbázis ablak el lesz rejtve a felhasználótól, ami azt jelenti, hogy a felhasználó nem lesz képes adataink adatainak megismerésére az adatbázisunk tábláiról, más formáiról vagy a modulokról - az adatbázis összes szolgáltatási eleme el lesz rejtve. Elvben a felhasználó megkerülheti az ilyen védelmet, ha a gombot megnyomja az Access megnyitása közben , Ez a lehetőség azonban programozva is lezárható.

Ha még mindig meg kell nyitnia az űrlapot programozott módon (például egy másik űrlapból), használhatja a DoCmd.OpenForm () metódust erre a célra. A legegyszerűbb formában ez a módszer egyszerűen egy paramétert vesz fel a formanyomtatvánnyal:

Ha az űrlap már nyitva van, akkor ez a módszer természetesen nem nyitja meg újra az űrlapot, hanem egyszerűen aktiválja. A DoCmd.OpenForm () módszer számos opcionális paramétert is elfogad, amelyekkel beállíthatja a szűrőt, hogy megjelenítse rekordokat egy űrlapon, egy nyílt módban (pl. Modalitás) és így tovább. Az űrlap bezáródik a DoCmd.Close () módszerrel. Ha csak el szeretné rejteni az űrlapot a felhasználó által megadott értékek tárolásához és a következő kijelzés megjelenítéséhez, egyszerűen csak láthatatlanná teheti az alakzatot úgy, hogy a Látható tulajdonságát False-ra állítja.

A formában, amire általában szükségünk van, nem önmagában, hanem konténerként az ellenőrzések számára. Általában nincs szükség vezérlőelemek létrehozására programozható módon - sokkal könnyebb és kényelmesebb a formanyomtatvány formában való elhelyezése. Az űrlapon található vezérlőkészletben ismerősek - szövegdobozok, címkék, gombok, zászlók és kapcsolók, valamint új elemek - ingyenes és csatolt objektumkeretek, oldaltörések, alformák / jelentések stb. Az Eszköztár jobb felső sarkában, az Access Form Designerben speciális varázsló található. Ha megnyomja ezt, az ismerős kezelőszervek (például a gombok) hozzáadásával olyan varázslóablak jelenik meg, amely megpróbálja segíteni Önnek a szükséges VBA-kód létrehozását (lásd: 12.3 ábra)

Objektum és munka a hozzáférési formák révén vba

Ábra. 12.3 Gomb létrehozása varázsló

A varázsló által létrehozott kódot használhatja a makró felvevőjének (amely nem az Access alatt található), hogy megértse, hogyan végezhet bizonyos műveleteket.

A nem szokványos (a VBA szokásos formáihoz viszonyítva)

Tegyük fel például, hogy az Access adatbázisunkban van egy három oszlopos táblázat, amint az a 2. ábrán látható. 12.4.

Objektum és munka a hozzáférési formák révén vba

Ábra. 12.4 Táblázat Word sablonok tárolására

A Fájl oszlopban a Word-sablonok használhatók a jelentések készítéséhez. Az űrlapon lévő űrlapot az űrlapra helyezzük el, a WordTemplate nevű objektum csatolt keretét. Ezt követően mindent meg kell hoznunk egy Word fájlt az adatbázisból származó sablon alapján, már van. A gombhoz a jelentés generálásához kattintson a következő kódra:

"Megkapjuk az oFrame hivatkozást a csatolt keret objektumára az űrlapon

Dim oFrame mint BoundObjectFrame

Az oFrame = oForm.Controls ("WordTemplate") beállítása

'A DLookup () metódus használatával betöltjük a táblázat oszlopának értékét

'Sablonok, ahol a sor száma (a Num oszlop értéke) 1

oFrame = Application.DLookup ("[File]", "Templates", "[Num] = 1")

'Nyissa meg az objektumot egy külön alkalmazásablakban - vagyis hozzon létre

"Word-dokumentum a sablonon alapul, amelyet az űrlapon az objektumkeretbe betöltött

'Aktiválja az alkalmazásobjektumot

"Az oWord változóban Wordre hivatkozunk

Dim oWord Mint Word.Application

Állítsa be az oWord = GetObject ("Word.Application") parancsot

"Hozzunk létre egy linket a létrehozott dokumentumhoz

Dim oDoc Mint Word.Document

Állítsa be az oDoc = oWord.ActiveDocument parancsot

"Akkor a Word eszközök segítségével dolgozunk, pl. Helyezzük be a kívánt szöveget

'a könyvjelzőkkel jelölt helyekre

Természetesen helyesebb lesz az objektum csatolt kerete az eredetileg láthatatlan formában -, hogy a felhasználó saját kezdeményezésére ne tudja aktiválni ezt az objektumot.

  • Az Oldaltörés vezérlés határozza meg az új formázási képernyő kezdetét.
  • Alárendelt űrlap / jelentés - alárendelt formák, táblázatok vagy jelentések formájára helyezve.

Mint korábban említettük, az Access formátumú programozható vezérléseket ritkán kell létrehozni. Ha a formanyomtatványon változó szabályzatokra van szüksége, helyesebb lesz minden szükséges vezérlő létrehozása a kezdetektől, és szükség esetén láthatóvá vagy láthatatlanná téve őket. Mindazonáltal lehetőség van a formanyomtatványok vezérlésére is. Ez a művelet végrehajtása az Application.CreateControl () módszerrel történik, amely számos paramétert vesz fel - az űrlap nevét, amelyen az ellenőrzés létrejön, az ellenőrzés típusa, az űrlapon található hely stb.

Az űrlapon található ellenőrzések értékei a Controls gyűjteményen keresztül érhetők el, amely a vezérlők nevével működik:

Kapcsolódó cikkek