adatbÁzis kezelÉs
TRANSCRIPT
Informatikai alapismeretek modul Adatbázis-kezelés
Adatbázis-kezelés
Összeállította: Fodor András
BARHÁCS OKTATÓKÖZPONT
Informatikai alapismeretek modul Adatbázis-kezelés
2
1. fejezet
Adatok és információk
A világ melyben élünk leképezhető adatok formájában. Az objektumok mérhető, illetve nem
mérhető tulajdonságait, melyek számunkra valamilyen szempontból fontosak, adatnak
nevezzük. Adat egy tárgy kilogrammban kifejezett értéke, egy ember neve, a ruha színe.
Mindegyik egy tulajdonságot jellemez, de tartalmukat tekintve különbözőek. Az adatok
között összefüggéseket állapítunk meg, ezeket feldolgozzuk, rendszerezzük és különböző
kombinációkkal, újabb adatokhoz juthatunk.
Ezeket az új adatokat, melyek összefüggéseikkel együtt ismereteinkké válnak, információnak
nevezzük. Az információ tehát nem más, mint értelmezett, dekódolt adat, értesülés. Ez alapján
megállapítható, hogy az adat a számítógépben, jelsorozat formájában tárolt, kódolt
információ.
Kétfajta adatot ismerünk: az alapadatokat, melyek objektumok tulajdonságait és viszonyait
adják meg, általában közvetlen megfigyelésen vagy mérésen alapulnak, és a származtatott
adatokat, melyek matematikai és/vagy logikai műveletek végrehajtásának eredményei.
Az adat reprezentált, de nem értelmezett ismeret. Tények, elképzelések nem értelmezett, de
értelmezhető formában való közlése. Az adatfeldolgozás nyersanyaga, feldolgozatlan
információ. Az adatokat összegyűjtik, és információvá dolgozzák fel.
Az adatgyűjtési és feldolgozási folyamatot, információs folyamatnak nevezzük. Minden
információs folyamat részfolyamatok összességéből tevődik össze. A részfolyamatok közötti
kapcsolatot, mely az adatok átadásából és átvételéből áll, kommunikációnak nevezzük. Az
egymással kapcsolatban lévő információs folyamatokat együttesen információs rendszernek
nevezzük. Az információk (gépi) feldolgozásának és továbbításának tudományát, annak
technikáját és alkalmazását nevezzük informatikának.
Az információs folyamat:
gyűjtés
adatok tárolás információ
feldolgozás
Az informatika, mint tudomány vizsgálati tárgya az adat és az információ, ill. az információs
kölcsönhatások, munkaeszköze pedig a számítógép. Számítógép minden olyan berendezés,
amely adatokat vesz be és tárol, számításokat végez, és közli az eredményt. A korszerű
számítógépek elektromossággal működnek, gyorsak, pontosak, nagy tömegű adat
feldolgozására, tárolására szolgálnak. A számítógépeket ezen kívül még folyamatok
irányítására és szervezésére, illetve adat tárolására használjuk. Számokkal, szöveggel,
képekkel, hangokkal is tudnak dolgozni, illetve mindezeket feldolgozhatják. A számítógép
feladata az adatfeldolgozás és tárolás. A számítógép csak adatfeldolgozást végez az
információkat értelmezni és használni csak az ember képes. Az adatfeldolgozás két
legfontosabb formája: a műszaki, tudományos és gazdasági célú matematikai számítások
végzése, valamint az adatnyilvántartás. Az adatokat az emberek számára
információrendszerekben tárolják és dolgozzák fel. Az információrendszer egy nagy
Informatikai alapismeretek modul Adatbázis-kezelés
3
teljesítményű, az adatgyűjtés és feldolgozás minden fázisát lefedő, komplex struktúra,
melyben a számítástechnikai eszközök használata ma már nélkülözhetetlen.
A rendszer egy vagy több ismérv alapján összetartozó, egymással kapcsolatban és
kölcsönhatásban lévő elemek jól körülhatárolható csoportja.
Rendszerek fajtái:
- nyílt: mely rendszerkörnyezetével kapcsolatban áll
- zárt: mely rendszerkörnyezetével nem áll kapcsolatban
- statikus: időben állandó
- dinamikus: időben változó
- determinált: ugyanolyan bemeneti hatásra ugyanolyan kimeneti hatással válaszol
- índeterminált: ugyanolyan bemeneti hatásra más-más kimeneti hatással válaszol
- sztochasztikus: valószínűségi alapon lehet kezelni a problémát
- aktív: saját belső vezérléssel rendelkezik
- passzív: csak külső irányítással képes működni
Adatbázis kezelés
Adatbázis definíciója, felépítése és működése
Az adatbázis nem más, mint a bennünket érdeklő dolgok szervezett együttese, logikailag
összefüggő adat vagy információgyűjtemény. Az adatbázisok táblákból épülnek fel, melyek
azonos objektumot leíró adatok sorokból és oszlopokból álló elrendezése. A sorokat
adatrekordnak, az oszlopokat adatmezőknek nevezzük.
Adatbázison köznapi értelemben valamely rendezett, valamilyen szisztéma szerint tárolt
adatokat értünk, melyek nem feltétlenül számítógépen kerülnek tárolásra. Képzeljük el, hogy
egy céghez naponta átlagban 20 levél érkezik. A cég irattárosa kellő adattárolási tapasztalat
híján a leveleket az irattár ajtajára vágott lyukon keresztül bedobja. Elképzelhető, hogy pár év
eltelte után milyen reménytelen vállalkozás egy levelet megtalálni az irattárban. Ez az
adathalmaz nem tekinthető adatbázisnak, ahhoz hogy adatbázis legyen nem elegendő a
nagyszámú adat. Az adathalmaz csak akkor válik adatbázissá, ha az valamilyen rend szerint
épül fel, mely lehetővé teszi az adatok értelmes kezelését. Természetesen ugyanazon
adathalmazból többféle rendszerezés alapján alakíthatunk ki adatbázist. Például egy
könyvtárban a könyveket rendezhetnénk a könyvek mérete vagy akár a szerző vagy szerzők
testsúlya alapján. Ez már egy rendszert ad az adatok tárolásához. Ilyen módon minden könyv
helye meghatározott. De bizonyára nehéz helyzetben lennénk, ha szerző és cím alapján
próbálnánk meg előkeresni egy könyvet. Az adatok tárolásába bevitt rendszernek alkalmasnak
kell lennie a leggyakrabban előforduló igények hatékony kielégítésére. Az adatbázisok mellé
egy adatbázis-kezelő rendszer is járul, mely az adatbázis vagy adatbázisok üzemeltetését
biztosítja. Hagyományos adatbázis esetén ez a kezelőszemélyzet intelligenciájának része,
elektronikus adatbázisok esetén pedig valamilyen szoftver.
Azóta rendelkezünk adatbázisokkal, mióta írásban vagyunk képesek rögzíteni adatokat. Ez az
ókorban történhetett akár kőtáblákra vagy papirusz tekercsekre. Az adatbázisok fejlettebb
formái később a kartotékrendszerek lettek, melyek a számítógépek megjelenéséig az alapvető
adatbázis rendszerek voltak. A számítástechnika hőskorában az 50-es 60-as években az
adatok tárolása még lyukszalagon, lyukkártyán történt, az adatok közvetlenül nem voltak
elérhetők a számítógép számára. A mágneses háttértárolók elterjedésével az adatok tárolása
Informatikai alapismeretek modul Adatbázis-kezelés
4
egyszerűbbé, elérésük hatékonyabbá vált. Ezekben az időkben még nem léteztek univerzális
módszerek, illetve rendszerek, melyek segítségével, az adatbázisokkal kapcsolatos problémák
nagy része általánosan megoldható lett volna.
A számítógépek fejlődésével együtt fejlődtek a programozói lehetőségek is. Az első
számítógépeken csak a gépi kód (a bináris formában kiadott utasítások a mikroprocesszornak)
állt rendelkezésre. Az első generációs programnyelvekben még nem készültek komoly
adatbázis-kezelő alkalmazások. Ezekre egyrészt a magas szintű nyelvek (2. generációs
program nyelvek) COBOL, FORTRAN stb., másrészről a lemezes operációs rendszerek
kialakulásáig kellett várni. Ekkor már komoly adatbázis alkalmazások születtek, melyek
egyedi problémák megoldására voltak alkalmasak.
Az adatbázisok méretének és számának gyors növekedése következtében az egyedi
alkalmazások létrehozása fárasztó és időrabló feladattá vált, ezért a programfejlesztők
törekedtek az adatbázis-kezelés általános formában történő megfogalmazására. Ennek
eredményeként jöttek létre az adatbázis kezelő rendszerek és a negyedik generációs nyelvek
(4GL). Az adatbázis kezelő rendszerek számos eszközt nyújtanak az interaktív adatbevitel,
menük létrehozása terén, melyek kialakítása a harmadik generációs nyelvekben sok-sok oldal
kód leírásával lenne csak lehetséges. A szabványos eszközök bevezetésével nem csak a
programozói munka csökkent le, hanem egységes felhasználói felület kialakítására késztetik a
programozókat.
Az adatbázis-kezelő rendszer
Manapság nem elégszünk meg egy adatbázissal, mely az adatokat rendszerezve tárolja, hanem
az adatok kezeléséhez szükséges eszközöket is az adatbázis mellé képzeljük. Az így kialakult
programrendszert adatbázis-kezelő rendszernek (DBMS Database Management System)
nevezzük. Egy DBMS egyszerűbb és gyorsabb megoldást kínál az űrlapokon alapuló
alkalmazások kidolgozásában, az adatbázis adatokon alapuló jelentések készítésében. Az
adatbázis-kezelő rendszerek megváltoztatták a végfelhasználók adatnyerési lehetőségeit az
egyszerű lekérdezési nyelvek bevezetésével. A lekérdező nyelvek lehetőséget nyújtanak a
nem számítógépes szakemberek számára is tetszőleges lekérdezés gyors végrehajtására. A
programozási eszközök mellett az operációs rendszerek illetve azoknak a háttértárakat kezelő
része is komoly fejlődésen ment keresztül. Nem volt már szükség a fizikai fájlszerkezet
pontos ismeretére, ezt az operációs rendszer illetve az adatbázis-kezelő rendszer elfedte a
felhasználó és a programozó elől is. Ma már az operációs rendszerek is lehetőséget nyújtanak
szekvenciális, indexelt és közvetlen elérésű adatállományok létrehozására. Az operációs
rendszerek fájl kezelői azonban nem értelmezik a fájlok tartalmát, a fájlokat kezelő
programoknak kell ismernie az adatok szerkezetét és az adatszerkezetben bekövetkezett
változás, akár csak bővülés, esetén a változást a programokon is át kell vezetni. Az
adatbázisokban gyakran előfordulnak olyan típusú adatok, melyeket az operációs rendszer
vagy a harmadik generációs programnyelvek közvetlenül nem kezelnek, például dátum,
időpont, pénzegység stb.
Az adatbázis-kezelők három alapvető feladatkörre alapozódnak, melyek mindegyike a
számítógépes hardvertől és környezettől való függetlenséggel kapcsolatos. Az általános cél
az, hogy inkább az ember gondolkodásához, munkastílusához hozza közelebb az információs
rendszer kidolgozását, minthogy az embereket kényszerítse a számítógép stílusú
gondolkozásra.
Informatikai alapismeretek modul Adatbázis-kezelés
5
- Függetlenség az aktuális hardver konfigurációtól
- Az adatbázis-kezelő rendszer rejtse el a felhasználó és a fejlesztő elől is a számítógépek
és azok perifériái között jelentkező különbségeket. Például a fejlesztőnek se kelljen
törődnie a fizikai szintű adattárolással, ne kelljen közvetlenül lemez blokkokra,
cilinderekre hivatkoznia. Az egyes megjelenítő eszközökön (képernyő, nyomtató) -
azok típusától függetlenül - az alkalmazás ugyanúgy használható legyen, és azonos
eredményt szolgáltasson. Ily módon az egyik géptípusra kifejlesztett alkalmazás
bármelyik, az adatbázis-kezelő által támogatott hardver illetve szoftver környezetben
módosítás nélkül használható.
- Függetlenség az adatelérés módjától
- Az egyes operációs rendszerek a fájlokra többfajta adatelérési módot (szekvenciális,
indexelt, véletlen) kínálnak az alkalmazások készítőinek. Ez azonban maga után vonja,
hogy a fejlesztőnek ezt figyelembe kell vennie és az egyes adatállományokat tárolási
módjuknak megfelelően kell kezelni. Az adatbázis-kezelőtől viszont elvárjuk, hogy az
adatok tárolásáról és elérési módjáról maga rendelkezzék. A felhasználó vagy a fejlesztő
számára csak a kérdés megfogalmazása és nem az eredmény előállítási módja legyen a
feladat. Egy példával ezt úgy szemléltethetnénk, hogy a főnök is csak azt mondja a
titkárnőjének, hogy kéri a múlt havi jelentéseket a raktárkészletről, de nem ad
útmutatást az adatok elérési módjáról, mivel azt a titkárnő ismeri. Az adatbázis-
kezelőtől nem csak azt várjuk el, hogy önállóan gondoskodjék az adatok eléréséről,
hanem azt is, hogy ha több alternatíva is létezik azok közül az optimálist válassza ki.
- Függetlenség az adatstruktúráktól
- Az adatbázisok szerkezetében beálló változások minél kevesebb módosítást okozzanak
az alkalmazásokban. Például, ha az adatbázisokat új adatokkal kell bővíteni, akkor
azokat a régebben elkészített alkalmazásokat, melyek ezeket az adatokat nem
használják, változtatás nélkül tovább használhassuk.
Adatbázis kezelés szerepe:
- adattárolás,
- adatok visszakeresése,
- adatmódosítás (törlés, létrehozás, változtatás) biztosítása.
Az adatbázis kezelő rendszer olyan rendszer, mely adatbázisokat használ az információ
tárolására és elemzésére (RDBMS – Relational DBMS).
Az adatbázis kezelő rendszer három részből áll:
- Adatdefiníciós nyelv (DDL – Data Definition Language), mely az adatok
struktúrájának (logikai tárolási rendszerének) leírására használt.
- Adatkezelő nyelv (DML – Data Manipulation Language), melyet az adatbázis
adattartalmának módosítására, kezelésére veszünk igénybe.
- Adatlekérdező nyelv (DQL - Data Query Language), melyet az adatbázis
adattartalmának megjelenítéséhez, különböző szempontok szerint
visszakereséséhez veszünk igénybe.
Adatbázis kezelő rendszerek egyéb feladatai:
- Adatvédelem (jogadás, megvonás),
- integritási feltételek (tranzakció-kezelés, érvényes input),
- szinkronizáció (többszörös hozzáférés, fő-kópia adatbázisok) biztosítása.
Informatikai alapismeretek modul Adatbázis-kezelés
6
Az adatbázisok felfoghatók olyan táblázatok halmazának, ahol az adatok közötti
kapcsolatokat is tároljuk. Ez lehetőséget ad számunkra, hogy olyan komplex kérdéseket
tegyünk fel, melyeket a kapcsolatok alapján válaszol meg a rendszer. Erre, pl. egy
táblázatkezelőnél, ahol az adatokat tároljuk ugyan, de az adatok közötti összefüggéseket nem
tudjuk lekérdezni, nincs lehetőségünk. Az alábbi példában látható adatbázisban például a
tanárokat és a hozzájuk tartozó tantárgyakat tároljuk (a szerkezet sajátosságaival és a tárolás
mikéntjével később foglalkozunk). Könnyen belátható, hogy ennél a tárolási formánál
könnyen visszakereshetők a tanárokhoz tartozó tantárgyak, ill. a tantárgyakhoz tartozó
tanárok, sőt az egyéb megoldásokkal szemben a rendszer rugalmasan bővíthető új adatokkal
(tanárokkal, tantárgyakkal, tanár-tantárgy összerendelésekkel) anélkül, hogy emiatt bármiféle
kompromisszumot kellene kötnünk.
Adatmodell
Az adatfeldolgozás jobban gépesíthető, ha az adatok közötti kapcsolatokat struktúráknak
tekintjük, vagyis adatmodellt hozunk létre. Az olyan adatszerkezetet, melyeket adatmodellbe
foglalva kezelünk, adatbázisoknak nevezzük (adatok kapcsolataikkal együtt történő
ábrázolása – tárolása).
Adatmodell próbálkozások
- Formalista: gráfokkal, diagramokkal kísérelték meg leírni az adatbázis szerkezetét.
- Szemantikai: szavak segítségével kísérelték meg leírni az adatok közötti kapcsolatokat.
- Matematikai: Matematikai struktúrák alkalmazásával kísérelték meg leírni az adatok
közötti kapcsolatokat. Legelterjedtebb a Codd-féle relációs adatmodell (ld. később).
Az adat négy dimenziója
Nyelvi Adatbázis elméleti Adatbázis gyakorlati
Általános alany Egyedtípus Tábla
Specifikus alany Egyed-előfordulás Rekord
Általános állítmány Tulajdonságtípus Mező
Specifikus állítmány Tulajdonság-előfordulás Cella
A nyelvi elnevezés adja meg, hogy az adatok milyen szerepet töltenek be az élő nyelvben.
Ahhoz, hogy mondatainknak értelme legyen az adatot leíró, mind a négy jellemzőt közölnünk
kell. Ezért nevezzük az általános és a specifikus alanyt, ill. az általános és a specifikus
állítmányt az adat (ismeret) négy dimenziójának. Az élő nyelvben azonban nem minden leírót
tartalmaz egy mondat, azt közvetve a szövegkörnyezetből, háttér-információinkból is
kiderülhet, ellentétben a gépi adatfeldolgozással, ahol egy érték azonosításához, mind a négy
leírónak ismertnek kell lennie.
Egyedtípus: az a dolog, amit ismereteinkkel szeretnénk leírni.
Egyed-előfordulás: egy egyedtípusba sorolt konkrét egyed.
Tulajdonságtípus: az egyedtípusnak a feladat szempontjából leírandó jellemzője.
Tanár azonosító
Tanár név
Cím
Telefon
Születési idő
Szak azonosító
Tanár azonosító
Tantárgy azonosító
Tantárgy azonosító
Tantárgy név
Leírás
Informatikai alapismeretek modul Adatbázis-kezelés
7
Tulajdonság-előfordulás: egy tulajdonságtípusba sorolt konkrét ismeret.
Kapcsolattípus: a viszony, melyet két egyedtípus között leírhatunk.
Kapcsolat-előfordulás: egy kapcsolattípusba sorolt konkrét kapcsolat.
Az egyed-előfordulások előfordulás-halmazt, a tulajdonság-előfordulások érték-halmazt, míg
a kapcsolat-előfordulások kapcsolat-halmazt alkotnak.
Adatmodell: Véges számú egyedtípusnak, azok véges számú kapcsolat és tulajdonságtípusának szervezett
együttese.
Adatbázis: Véges számú egyed-előfordulásnak, azok véges számú kapcsolat és tulajdonság-
előfordulásának szervezett együttese.
Kapcsolatok
Kapcsolatok foka
Egy-egy (1:1):
A egyedtípus minden egyes egyed-előfordulásához egy és csakis egy egyed-előfordulás
tartozik B egyedtípusban, és B egyedtípus minden egyes egyed-előfordulásához egy és csakis
egy egyed-előfordulás tartozik A egyedtípusban. Gyakorlati jelentősége csekély, akkor
alkalmazzuk, ha bizonyos be ill. kiviteli műveleteket ezzel megkönnyíthetünk.
Egy-sok (1:N):
A egyedtípus minden egyes egyed-előfordulásához nulla vagy több egyed-előfordulás tartozik
B egyedtípusban, de B egyedtípus minden egyes egyed-előfordulásához egy és csakis egy
egyed-előfordulás tartozik A egyedtípusban.
Sok-egy (N:1):
A egyedtípus minden egyes egyed-előfordulásához egy és csakis egy egyed-előfordulás
tartozik B egyedtípusban, de B egyedtípus minden egyes egyed-előfordulásához nulla vagy
több egyed-előfordulás tartozik A egyedtípusban.
Sok-sok (N:M):
A egyedtípus minden egyes egyed-előfordulásához nulla vagy több egyed-előfordulás tartozik
B egyedtípusban, és B egyedtípus minden egyes egyed-előfordulásához nulla vagy több
egyed-előfordulás tartozik A egyedtípusban. A relációs adatbázis-kezelés szabályai szerint
kötelezően feloldandó egy kapcsolótáblán keresztül, két ellentétes irányú egy-sok kapcsolattá.
Kapcsolatok jellege
Kapcsolatok jellege lehet:
- kötelező (mandatory):
- A egyedtípus minden egyed-előfordulásához kötelezően tartozik legalább egy
egyed-előfordulás B egyedtípusban. Ilyen az egy-sok kapcsolat egy oldalához
tartozó kapcsolat (pl. számla-vevő kapcsolatban egy számlarekordhoz minden
esetben tartozik vevőrekord).
- elhagyható (opcionális)
Informatikai alapismeretek modul Adatbázis-kezelés
8
- A egyedtípus minden egyed-előfordulásához nem kötelezően tartozhat egy
vagy több egyed-előfordulás B egyedtípusban. Ilyen az egy-sok kapcsolat
több oldalához tartozó kapcsolat (pl. számla-vevő kapcsolatban egy
vevőrekordhoz nem minden esetben tartozik számlarekord).
Informatikai alapismeretek modul Adatbázis-kezelés
9
2. fejezet
Adatmodellek
Az adatmodell nem azért adatmodell, mivel az adatokat modellezi, hanem azért, mert a
valóságos világ egy részét adatokkal írja le. Az adatmodell valójában a világ egy részét
adatokkal leíró rendszer logikai szerkezete. Az adatbázis-kezelők fejlődése során többfajta
logikai modell alakult ki, melyek főként az adatok közötti kapcsolatok tárolásában térnek el
egymástól. A három alapvető modell a hierarchikus, a háló és a relációs modell. Ezek közül
manapság a DOS/Windows illetve UNIX operációs rendszerekben kizárólag relációs
modellre épülő adatbázis-kezelőket használnak. Ezért itt csak röviden ismertetjük a másik két
modellt.
Hierarchikus
Szerkezete speciális gráf, hierarchikus faszerkezet. Valamilyen lista vagy lánc formájában
tároljuk az adatokat. A logikai utakat ágaknak, a hierarchia legtetején álló elemet gyökérnek,
a legalján lévő tagokat levélnek, az elágazási helyeket csomópontoknak nevezzük.
Három altípusa ismert:
- teljes fa: minden elem a közvetlenül alatta lévő szint minden elemére tartalmaz mutatót.
- szülő-testvér: minden elem csak két mutatót tartalmaz, egyet az alatta lévő szint első
elemére, és egyet a vele azonos szinten lévő következő elemre.
- hierarchikus lánc: minden elem csak egy mutatót tartalmaz, mely a közvetlenül utána
következő elemre mutat.
Az adatbázis több egymástól független fából állhat. A fa csomópontjaiban és leveleiben
helyezkednek el az adatok. A közöttük levő kapcsolat, szülő gyermek kapcsolatnak felel meg.
Így csak egy-sok típusú kapcsolatok képezhetők le segítségével. Az 1:N kapcsolat itt azt
jelenti, hogy az adatszerkezet egyik típusú adata a hierarchiában alatta elhelyezkedő egy vagy
több más adattal áll kapcsolatban.
A hierarchikus modell természetéből adódóan nem ábrázolhatunk benne N:M típusú
kapcsolatokat (lásd a háló modellt). Emellett további hátránya, hogy az adatok elérése csak
egyféle sorrendben lehetséges, a tárolt hierarchiának megfelelő sorrendben.
A hierarchikus adatmodell alkalmazására a legkézenfekvőbb példa a családfa. De a főnök-
beosztott viszonyok vagy egy iskola szerkezete is leírható ebben a modellben. Az iskola
esetén többféle hierarchia is felépíthető. Egyrészt az iskola több osztályra bomlik és az
osztályok tanulókból állnak. Másrészt az iskolát az igazgató vezeti, a többi tanár az ő
beosztottja és a tanárok egy vagy több tantárgyat tanítanak.
Informatikai alapismeretek modul Adatbázis-kezelés
10
Hálós
A hálós adatmodell esetén az egyes, azonos vagy különböző összetételű adategységek
(rekordok) között a kapcsolat egy gráffal írható le. A gráf csomópontok és ezeket összekötő
élek rendszere, melyben tetszőleges két csomópont között akkor van adatkapcsolat, ha őket él
köti össze egymással. Egy csomópontból tetszőleges számú él indulhat ki, de egy él csak két
csomópontot köthet össze. Azaz minden adategység tetszőleges más adategységekkel lehet
kapcsolatban. Ebben a modellben N:M típusú adatkapcsolatok is leírhatók az 1:N típusúak
mellett. A hierarchikus és a hálós modell esetén az adatbázisba fixen beépített kapcsolatok
következtében csak a tárolt kapcsolatok segítségével bejárható adat-visszakeresések oldhatók
meg hatékonyan (sok esetben hatékonyabban, mint más modellekben). További hátrányuk,
hogy szerkezetük merev, módosításuk nehézkes.
Hálós adatmodell
Objektumorientált
Kísérleti modell, az egyedek, tulajdonságaik objektumokként zárt egységben kezelendők, cél
a valósághű adatmodell megalkotása. Nem elterjedt.
Relációs
A relációs adatmodell kidolgozása Ted Codd nevéhez fűződik (1971). Codd azt javasolta,
hogy az adatbázisrendszereknek a felhasználó felé az adatokat táblázatok formájában kellene
megjeleníteni, ezeket a táblázatokat nevezte relációknak. A relációs adatmodell azért
"relációs", mert központi fogalma pont ez a reláció, mely a matematikában a halmazok elemei
közötti kapcsolatot jelenti. Codd matematikus, ebben a minőségében kívánt rendet tenni az
adatszerkezetekkel kapcsolatos kusza elképzelések között, nem csoda hát, hogy abból indult
ki, hogy amikor adatrendszert tervezünk, akkor adattételeket hozunk egymással kapcsolatba.
Ezt úgy is fel lehet fogni, hogy adatok különféle halmazai között hozunk létre kapcsolatot,
vagyis relációt. Ez a kapcsolat technikailag egy kétdimenziós szerkezetben ábrázolható, mely
nem más, mint az előbb említett táblázat. A relációs adatmodell tehát halmazelméleti
alapfogalmakat hozott az adatbázis-kezelés gyakorlatába, ez volt a forradalmi újítása.
Kérdés, hogy milyen adatok között vannak relációk a relációs adatbázis-kezelő rendszerben.
A kézenfekvő válasz az lenne, hogy a táblák (egyed-típusok) között, ám ez a válasz helytelen.
Ha a halmaz definícióját vesszük, akkor kiderül számunkra, hogy a halmazok azonos
Informatikai alapismeretek modul Adatbázis-kezelés
11
tulajdonságú elemeket tartalmaznak, ami nem igaz a táblázatokra, de igaz az oszlopokra
(mezők - tulajdonságtípusok). Így kimondhatjuk, hogy a relációs adatbázis-kezelő az
oszlopok (mezők) közötti halmazrelációkat vizsgálja, ezek alapján tárolja az adatok
egymással való kapcsolatát. Itt tehát a kapcsolat nem épül be az adatmodellbe, ennél az
adatmodellnél a tulajdonságokkal definiáljuk az adatmodell szerkezetét. Az adatbázist több
táblával adjuk meg, a kapcsolatokat pedig az jelenti, hogy a tábláknak vannak azonos nevű
mezőik.
A relációs modell előnyei a következők:
- A relációs adatszerkezet egyszerűen értelmezhető a felhasználók és az alkalmazás készítők
számára is, így ez lehet közöttük a kommunikáció eszköze.
- A logikai adatmodell relációi egy relációs adatbázis-kezelő rendszerbe módosítások nélkül
átvihetők.
- A relációs modellben az adatbázis-tervezés a normál formák bevezetésével egzakt módon
elvégezhető (ld. később).
A reláció nem más, mint egy táblázat, a táblázat soraiban tárolt adatokkal együtt. A relációs
adatbázis pedig relációk és csak relációk összessége. Az egyes relációkat egyedi névvel látjuk
el. A relációk oszlopaiban azonos mennyiségre vonatkozó adatok jelennek meg. Az oszlopok
névvel rendelkeznek, melyeknek a reláción belül egyedieknek kell lenniük, de más relációk
tartalmazhatnak azonos nevű oszlopokat. A reláció soraiban tároljuk a logikailag összetartozó
adatokat. A reláció sorainak sorrendje közömbös, de nem tartalmazhat két azonos adatokkal
kitöltött sort.
Nézzünk egy példát:
Mint látjuk ebben a kis adatbázisban az árukat, a vevőket és a vevők vásárlásait tároljuk. Az
adatbázisban négy reláció (tábla - egyedtípus) található, melyek kapcsolatát az jelenti, hogy a
táblák más táblákkal azonos nevű (és tartalmú) mezőket is tartalmaznak. Ha végiggondoljuk
kiderül, hogy:
- A Vevő és a Számla között egy-sok kapcsolat van (egy vevőhöz több számla is tartozhat,
de egy számlához csak egy vevő rendelhető hozzá). A kapcsolatot az jelenti, hogy mindkét
tábla tartalmaz Vevő_az nevű mezőt.
- Az Áru és a Számla tábla között sok-sok kapcsolat van (egy számlán több áru is
szerepelhet, és ugyanaz az áru több számlán is előfordulhat). Emiatt ezt a kapcsolatot fel
kellett oldani egy kapcsolótáblán keresztül, ez lett a Részletező. A Részletezővel mindkét
tábla egy-sok kapcsolatban van, amit az azonos nevű mezők jeleznek (Áru.Áru_az-
Részletező.Áru_az ill. Számla.Számla_az-Részletező.Számla_Az).
Nézzük meg az adatok közötti kapcsolatokat:
Áru_az Árunév
Egységár
Raktáron db
Részletező_az
Számla_az
Áru_az
Vásárolt db
Számla_az
Vevő_az
Kiállítás
Teljesítés
Vevő_az Vevőnév
Cím
Telefon
Informatikai alapismeretek modul Adatbázis-kezelés
12
Áru tábla
Áru_az Árunév Egységár Raktáron db
A1 Fogkefe 10 100
A2 Fogkrém 20 100
A3 Szappan 30 100
A4 Télikabát 40 50
A5 Műhold 50 10
Vevő tábla
Vevő_az Vevőnév Cím Telefon
V1 Gipsz Jakab Budapest 12345678
V2 Cement Ödön Szeged 23456789
V3 Tégla Béla Budapest 34567890
V4 Cserép Virág Pécs 45678901
V5 Sóder Géza Kecskemét 56789012
Számla tábla
Számla_az Kiállítás Teljesítés Vevő_az
S1 2000.01.05. 2000.01.06. V1
S2 2000.01.06. 2000.01.07. V2
S3 2000.01.07. 2000.01.08. V3
S4 2000.01.08. 2000.01.09. V2
S5 2000.01.09. 2000.01.10 V1
Részletező tábla
Részletező_az Számla_az Áru_az Vásárolt db
R1 S1 A1 1
R2 S1 A2 2
R3 S2 A3 11
R4 S3 A2 3
R5 S3 A5 4
R6 S4 A4 3
R7 S5 A1 2
R8 S5 A2 4
R9 S5 A4 10
Keressük vissza, hogy mit vásárolt eddig Gipsz Jakab! A visszakeresés lépései:
1. Keressük meg a Vevő táblában a Gipsz Jakab nevet. Nézzük meg, hogy a névhez tartozó
kapcsoló mező (Vevő_Az) milyen értéket tartalmaz (V1).
2. Keressük meg a kapcsolódó táblában (Számla), hogy a kapcsoló mezőben (Vevő_Az) hol
szerepel az előbb megtalált érték (V1). Ezekben a rekordokban keressük ki a másik
táblához (Részletező) kapcsoló mezőben (Számla_Az) található értékeket (S1, S5).
3. Keressük meg a kapcsolódó táblában (Részletező), hogy a kapcsoló mezőben
(Számla_Az) hol szerepelnek az előbb megtalált értékek (S1, S5). Ezekben a rekordokban
Informatikai alapismeretek modul Adatbázis-kezelés
13
keressük ki a másik táblához (Áru) kapcsoló mezőben (Áru_Az) található értékeket (A1 -
kétszer is szerepel, A2 - kétszer is szerepel, A4).
4. Keressük meg a kapcsolódó táblában (Áru), hogy a kapcsoló mezőben (Áru_Az) hol
szerepelnek az előbb megtalált értékek (A1, A2, A4). Ezekben a rekordokban keressük ki
az áru nevét (A1-Fogkefe, A2-Fogkrém, A4-Télikabát).
5. Milyen következtetéseket vonhatunk le ebből? Gipsz Jakab fázós, de a fogaira vigyáz :)
Kulcsok
Az adatbáziskezelésben kulcsnak tekintünk minden olyan mezőt (tulajdonság-típust), mely
szerint keresünk az egyedtípus adatai (rekordjai) között. Alapértelmezés szerint
megkülönböztetünk elsődleges (mester, szuper) kulcsot, mellyel a rekordokat azonosítjuk,
másodlagos kulcsot, mely alapján keresünk (indexelt mezők), és idegen kulcsot, mely a
kapcsolatok meghatározásásban játszik szerepet.
Az elsődleges kulcs a reláció egy sorát azonosítja egyértelműen. A reláció - definíció szerint-
nem tartalmazhat két azonos sort, ezért minden relációban létezik elsődleges kulcs. Az
elsődleges kulcsnak a következő feltételeket kell teljesítenie:
- az attribútumok egy olyan csoportja, melyek csak egy sort azonosítanak (egyértelműség),
- a kulcsban szereplő attribútumok egyetlen részhalmaza sem alkot kulcsot,
- a kulcsban szereplő attribútumok értéke nem lehet definiálatlan (NULL).
A definiálatlan (NULL) értékek tárolását a relációs adatbázis kezelők speciálisan oldják meg.
Numerikus értékek esetén a NULL érték és a 0 (nulla) nem azonos.
Egy egyedtípus egy attribútumát (tulajdonságtípusát) vagy attribútum együttesét elsődleges
kulcsnak nevezzük tehát, ha értéke a reláció minden sorát egyértelműen meghatározza, vagyis
minden egyes egyed-előfordulásra eltérő értéket vesz fel. Ha az elsődleges kulcs egy
attribútumból áll, akkor elemi (egyszerű) kulcsról beszélünk, ha többől, akkor komplex
kulcsot értünk rajta.
A komplex kulcs lehet:
- hierarchikus (a kulcsot meghatározó tulajdonságok között van logikai kapcsolat),
- összetett (a kulcsot alkotó attribútumok között logikai kapcsolat nem fedezhető fel).
Egy egyedtípus egy attribútumát, vagy attribútum együttesét idegen kulcsnak nevezzük, ha az
egy másik táblában az elsődleges kulcs szerepét tölti be.
Alapszabályként kimondhatjuk, hogy az idegen kulcs (ha az eddigiekből ez nem derült volna
ki) mindig az egy-sok kapcsolat sok oldalán lévő táblában található.
Informatikai alapismeretek modul Adatbázis-kezelés
14
Függőségek és normál formák
A redundancia
A logikai adatbázis tervezés egyik fő célja a redundanciák megszüntetése. Redundanciáról
akkor beszélünk, ha valamely tényt vagy a többi adatból levezethető mennyiséget ismételten
(többszörösen) tároljuk az adatbázisban. A redundancia, a szükségtelen tároló terület
lefoglalása mellett, komplikált adatbázis frissítési és karbantartási műveletekhez vezet,
melyek könnyen az adatbázis inkonzisztenciáját okozhatják. Egy adatbázis akkor
inkonzisztens, ha egymásnak ellentmondó tényeket tartalmaz. Megjegyezzük, hogy a fizikai
tervezés során az adatbázis műveletek gyorsítása érdekében esetleg redundáns attribútumokat
is bevezetünk.
A redundancia egyik fajtája, amikor ugyanazt a tényt többször tároljuk. Nézzük meg a
következő relációt.
Tanár Tantárgy Össz_óraszám Tanított_órák
Kiss Péter Adatbázis kezelés 64 12
Nagy Andrea Matematika 32 8
Szabó Miklós Adatbázis kezelés 64 4
Kovács Rita Matematika 32 5
Angol 48
A fenti relációban a tantárgyak összóraszámát annyiszor tároljuk, ahány tanár tanítja az adott
tantárgyat. A példa kedvéért feltételeztük, hogy egy tantárgyat több tanár is tanít. A
redundancia a következő hátrányokkal jár:
- Ha egy tantárgy összóraszáma megváltozik, több helyen kell módosítani a relációban.
- Valahányszor egy új tanár kerül be a relációba ugyanannak a tantárgynak az előző soraiból
kell elővenni az összóraszám adatot.
- Az utolsó sorban szereplő tantárgy (angol) esetén még nem került kitöltésre a tanár
személye. Új tanárnak a listára történő felvételekor ezt az esetet másként kell kezelni.
Ilyenkor csak két üres értéket (tanár, tanított órák) kell átírni.
A redundanciát meg kell különböztetni az értékek duplikált (többszörös) tárolásától. A
duplikált adattárolásra szükségünk lehet a relációkban, míg a redundanciát el kell kerülni.
Vizsgáljuk meg a következő relációt.
Termék Alkatrész Darab
Nyomtató papíradagoló 1
Nyomtató 64Kb memória 2
Számítógép 1.2 Mb floppy 1
Számítógép 1 Mb memória 4
Az előző táblázat a termék oszlopban többször tartalmazza a nyomtató és számítógép
adatokat. Ez azonban nem okoz redundanciát, mivel egy termék több alkatrészből is állhat,
így nem ugyanannak a ténynek a többszörös tárolásáról van szó, hanem egy másik tényt
fejezünk ki, melyhez elengedhetetlen a duplikált tárolás. A duplikált és a redundáns adatok
Informatikai alapismeretek modul Adatbázis-kezelés
15
között a funkcionális függőségek vizsgálatával tehetünk különbséget. Ezt majd a normál
formák ismertetésénél tesszük meg.
Redundancia fordul elő akkor is, ha levezetett vagy levezethető mennyiségeket tárolunk a
relációkban.
Levezetett adatokat tartalmazhat egyetlen reláció is abban az esetben, ha egyes attribútumok
értéke egyértelműen meghatározható a többi attribútum alapján, például, ha a kerületet is
nyilvántartjuk az irányítószám mellett. A redundáns adatok megszüntetésére két mód van. A
levezetett adatokat tartalmazó relációkat vagy attribútumokat el kell hagyni. A relációkban
tárolt redundáns tényeket a táblázatok szétbontásával, dekompozíciójával szüntethetjük meg
(az előző példában szereplő relációt kettő relációra bontjuk fel):
- Órák = {Tanár, Tantárgy, Tanított_Órák} és
- Össz_órák = {Tantárgy, Össz_óraszám}
A logikai tervezés célja egy redundancia-mentes reláció-rendszer, relációs adatbázis. A
reláció elmélet módszereket tartalmaz a redundancia megszüntetésére, az úgynevezett normál
formák segítségével. A következőkben a relációk normál formáinak definícióját mutatjuk be
példákon keresztül. A normál formák előállítása során a funkcionális és a többértékű
függőség, valamint a reláció kulcs fogalmát használjuk fel. A normál formák képzése során
leegyszerűsítve, olyan relációk felírása a cél, melyekben csak a reláció kulcsra vonatkozó
tényeket tárolunk. Öt normál formát különböztetünk meg. A különböző normál formák
egymásra épülnek, a második normál formában levő reláció első normál formában is van. A
tervezés során a legmagasabb normál forma elérése a cél. Az első három normál forma a
funkcionális függőségekben található redundanciák, míg a negyedik és ötödik a többértékű
függőségekből adódó redundanciák megszüntetésére koncentrál.
A normál formákkal kapcsolatban két újabb a relációkhoz kapcsolódó fogalommal kell
megismerkedni. Elsődleges attribútumnak nevezzük azokat az attribútumokat, melyek
legalább egy reláció kulcsban szerepelnek. A többi attribútumot nem elsődlegesnek nevezzük.
Funkcionális függés
Adatok között akkor áll fenn funkcionális függőség, ha egy vagy több adat konkrét értékéből
más adatok egyértelműen következnek. Például a személyi szám és a név között funkcionális
kapcsolat áll fenn, mivel minden embernek különböző személyi száma van. Ezt a
SZEMÉLYI_SZÁM NÉV kifejezéssel jelöljük vagy pedig egy diagrammal.
A funkcionális függőség bal oldalát a függőség meghatározójának nevezzük. Nem áll fenn
funkcionális függőség akkor, ha a meghatározó egy értékét több attribútum értékkel hozhatjuk
kapcsolatba. Például a NÉV SZÜLETÉSI_ÉV állítás nem igaz, mert több személynek
lehet azonos neve, akik különböző időpontokban születtek. Néhány évvel ezelőtt a
SZEMÉLYI_SZÁM AUTÓ_TIPUS funkcionális függőség igaz volt, mert mindenkinek
csak egy autója lehetett. Ma azonban ez már nem állja meg a helyét.
Informatikai alapismeretek modul Adatbázis-kezelés
16
Az adatok közötti funkcionális függőségek az adatok természetéből következnek, nekünk
csak fel kell ismerni ezeket a törvényszerűségeket. A tervezés során nagyon fontos, hogy
ezeket pontosan felismerjük, és figyelembe vegyük.
A funkcionális függőség jobb oldalán több attribútum is állhat. Például az
AUTÓ_RENDSZÁM TIPUS, TULAJDONOS funkcionális függőség azt fejezi ki, hogy
az autó rendszámából következik a típusa és a tulajdonos neve, mivel minden autónak
különböző a rendszáma, minden autónak egy tulajdonosa és típusa van. Ezt diagrammal is
ábrázolhatjuk.
A funkcionális függőség bal oldalán több attribútum is megjelenhet, melyek együttesen
határozzák meg a jobb oldalon szereplő attribútum értékét. Például hőmérsékletet mérünk
különböző helyeken és időben úgy, hogy a helyszínek között azonosak is lehetnek. Ebben az
esetben a következő funkcionális függőség áll fenn az attribútumok között: HELY,
IDŐPONT HŐMÉRSÉKLET. A fenti összefüggést az alábbi diagrammal is jelölhetjük:
A funkcionális függőségek speciális esete a teljes funkcionális függőség. Erről akkor
beszélhetünk, ha a meghatározó oldalon nincsen felesleges attribútum. Például a
RENDSZÁM, TIPUS SZÍN funkcionális függőség nem teljes funkcionális függőség,
mivel a rendszám már egyértelműen meghatározza a kocsi színét, ehhez nincs szükség a
típusra is.
Definíció
Funkcionális függésnek nevezzük, mikor A funkcionálisan meghatározza B-t, oly módon
hogy a táblázat minden A értékéhez egy és csakis egy B érték tartozhat, vagyis ha a reláció
két sora megegyezik A halmazon, akkor ebből következik, hogy megegyezik B halmazon is.
Informatikai alapismeretek modul Adatbázis-kezelés
17
Részleges függés
Terem Időpont Előadás Férőhely
B 10:00 Mitológia 250
A 08:30 Irodalom 130
B 11:30 Színház 250
A 11:00 Festészet 130
A 13:15 Régészet 130
Az előző ábrán látható reláció a következő matematikai formában írható le:
KONFERENCIA=({TEREM, IDŐPONT, ELŐADÁS, FÉRŐHELY}, {TEREM,
IDŐPONT ELŐADÁS, TEREM FÉRŐHELY}).
A reláció attribútumai között két funkcionális függőség adható meg, minden egyes teremben
egy időben csak egy előadás lehet és minden terem befogadóképessége adott. A reláció kulcsa
a TEREM, IDŐPONT attribútumok, ezek a reláció elsődleges attribútumai. A másodlagos
attribútumok (ELŐADÁS, FÉRŐHELY) közül a FÉRŐHELY csak a reláció kulcs egy
részétől függ.
Definíció
Részleges függésnek nevezzük, ha valamelyik másodlagos attribútum egy összetett kulcsnak
csak az egyik tagjától függ.
Tranzitív függés
Szakkör Tanár Születési év
Képzőművész Sár Izidor 1943
Iparművész Sár Izidor 1943
Karate Erős János 1972
Az előző ábrán látható reláció a következő matematikai formában írható le:
SZAKKÖRÖK = ({SZAKKÖR, TANÁR, SZÜLETÉSI ÉV}, {SZAKKÖR TANÁR,
SZÜLETÉSI ÉV, TANÁR SZÜLETÉSI ÉV}).
A példában szereplő relációban csak egy attribútumból áll a reláció kulcs és mindkét nem
elsődleges attribútum teljes funkcionális függőségben van a reláció kulccsal. A reláció mégis
Informatikai alapismeretek modul Adatbázis-kezelés
18
tartalmaz redundanciát, mivel ugyanannak a tanárnak a születési éve többször is szerepel
benne. A születési év funkcionálisan függ a tanár név attribútumtól.
Definíció
Tranzitív függésnek nevezzük mikor valamelyik másodlagos attribútum nem csak a kulcstól,
hanem valamelyik másik másodlagos attribútumtól is függ.
Normál formák
A normál formák az adatbázis belső logikai felépítésével vannak összefüggésben. A normál
formák azt jelzik, hogy a struktúrában mennyire kiküszöböltek a redundanciák és a
módosítási-keresési anomáliák.
Első normál forma (1NF):
Első normál formájú a reláció, ha nem tartalmaz ismétlődő elemeket, vagyis minden egyes
tulajdonság-előforduláshoz csak egy attribútum érték tartozik.
Második normál forma (2NF):
Második normál formájú a reláció, ha 1NF és minden másodlagos attribútum teljesen függ az
elsődleges kulcstól, vagyis nem tartalmaz részleges függést.
Harmadik normál forma (3NF):
Harmadik normál formájú a reláció, ha 2NF és egyetlen másodlagos attribútum sem függ más
másodlagos attribútumoktól, vagyis nem tartalmaz tranzitív függést.
A normalizálás lépései
1. Ismétlődő csoportok eltávolítása (1NF)
2. Funkcionális függések ellenőrzése
3. Részleges függések kiküszöbölése (2NF)
4. Tranzitív függések megszüntetése (3NF)
5. Kapott eredmények ésszerűsítése
Nézzünk egy példát a normál formák kialakítására!
Tanár_Az Tanár Tantárgy Havi fizetés Éves bér
1 Kiss Géza Ének, Matematika 65000 780000
2 Nagy Tamás Testnevelés, Fizika 75000 900000
3 Közepes Katalin Biológia, Számítástechnika 80000 960000
Informatikai alapismeretek modul Adatbázis-kezelés
19
A kiinduló táblánk normalizálatlan. Látható, hogy nem felel meg az első normál feltételeinek
sem, hisz van olyan tulajdonság-előfordulás, amihez több mint egy attribútum érték tartozik.
Ez keresési problémákkal jár, mivel nem vagyunk képesek egyedi tantárgyak szerint
lekérdezni a tanárokat.
Tanár_Az Tanár Tantárgy Havi fizetés Éves bér
1 Kiss Géza Ének 65000 780000
1 Kiss Géza Matematika 65000 780000
2 Nagy Tamás Testnevelés 75000 900000
2 Nagy Tamás Fizika 75000 900000
3 Közepes Katalin Biológia 80000 960000
3 Közepes Katalin Számítástechnika 80000 960000
Az átalakított tábla már első normál formájú, hiszen minden egyes cellában (tulajdonság-
előfordulás) csak egy érték áll. Az is látható azonban, hogy ahelyett, hogy csökkent volna,
növekedett az adatok redundáns tárolása. Van azonban egy ennél komolyabb probléma is,
nevezetesen, hogy a Tanár_Az, amit kulcsként használtunk elvesztette rekordazonosító
szerepét. Ezt a helyzetet az adatbázis elmélet kulcstörésnek nevezi. Mi okozza a kulcstörést?
A relációban van legalább egy olyan másodlagos attribútum, mely nem függ funkcionálisan a
kulcstól. Ha megfigyeljük, csak a Tantárgy mező nem tesz eleget annak a követelménynek,
hogy csak azokon a sorokon változzon az értéke, ahol a kulcs is változik, vagyis egy kulcshoz
több attribútum érték is tartozik. Ez a tulajdonság-típus okozza a kulcstörést, ez a kulcstörő
mező. A problémát csak oly módon oldhatjuk meg, ha eltávolítjuk a kulcstörő mezőt a
relációból (átcsoportosítjuk az adatbázison belül).
Tanár_Az Tanár
1 Kiss Géza
2 Nagy Tamás
3 Közepes Katalin
Tanár_Az Tantárgy_Az Havi fizetés Éves bér
1 1 65000 780000
1 2 65000 780000
2 3 75000 900000
2 4 75000 900000
3 5 80000 960000
3 6 80000 960000
Tantárgy_Az Tantárgy
1 Ének
2 Matematika
3 Testnevelés
4 Fizika
5 Biológia
6 Számítástechnika
A kulcstörő mező eltávolítása és az adatok kapcsolatának analizálása után kiderül a hiba
lényege: a Tantárgy mezőként szerepeltetése téves, hiszen sok-sok kapcsolatban van a
Tanárral, vagyis maga is egyedtípus. Így létrehozunk egy új Tantárgy egyedtípust saját
Informatikai alapismeretek modul Adatbázis-kezelés
20
azonosítóval, valamint egy kapcsolótáblát Szak néven, mellyel az N:M kapcsolatot oldjuk fel.
Ebbe a kapcsolótáblába visszük fel a Tanárokhoz tartozó béradatokat is.
Ez a döntés újabb problémát okoz. A kapcsolótáblának nincs saját azonosító mezője, a
Tanár_Az és a Tantárgy_Az kettőst használja kulcsként. Ezt azért teheti meg, mivel a Tanár-
Tantárgy összerendelés egyedi (egy tanárhoz csak egyszer rendeljük hozzá a tanított
tantárgyat), a párosítás nem ismétlődik. Ebből fakad a mostani gondunk is: a Fizetés mező
nem az összetett kulcs egészétől, csak annak egy részétől (a Tanár_Az-tól) függ. Ez azért
fordulhat elő, mert a tulajdonságtípust rossz táblában szerepeltetjük, abban a táblában a helye,
ahol az a mező az elsődleges kulcs, amitől funkcionálisan függ.
Tanár_Az Tanár Havi fizetés Éves bér
1 Kiss Géza 65000 780000
2 Nagy Tamás 75000 900000
3 Közepes Katalin 80000 960000
Tanár_Az Tantárgy_Az
1 1
1 2
2 3
2 4
3 5
3 6
Tantárgy_Az Tantárgy
1 Ének
2 Matematika
3 Testnevelés
4 Fizika
5 Biológia
6 Számítástechnika
Ez a kialakítás már megfelel az első és a második normál forma szabályainak. Azonban ha
jobban megnézzük a Tanár táblát, kiküszöbölendő redundanciával találkozunk, hiszen az Éves
Bér láthatólag a Havi Fizetés 12-szerese. Ezen felül a két mező tranzitív függésben is van
egymással, mivel az Éves Bér nem csak a kulcstól, de a Havi Fizetéstől is függ. A megoldás
itt a redundáns adatot tartalmazó mező eltávolítása (törlése).
Informatikai alapismeretek modul Adatbázis-kezelés
21
Tanár_Az Tanár Havi fizetés
1 Kiss Géza 65000
2 Nagy Tamás 75000
3 Közepes Katalin 80000
Tanár_Az Tantárgy_Az
1 1
1 2
2 3
2 4
3 5
3 6
Tantárgy_Az Tantárgy
1 Ének
2 Matematika
3 Testnevelés
4 Fizika
5 Biológia
6 Számítástechnika
És íme előállt a harmadik normál formájú adatbázisunk!
Kapcsolatok kialakítására vonatkozó szabályok
Hivatkozási-integritási szabályok
A hivatkozási integritás olyan szabályok halmaza, melyeket követve a táblák közötti
kapcsolatok nem sérülnek új rekord felvételekor, vagy régi rekord törlésekor. A hivatkozási
integritás érvényesítésekor nem lehet új rekordot hozzáadni a kapcsolódó táblához, ha az első
táblában nincs megfelelő csatlakozó rekord (pl. a Szak táblába nem lehet felvenni olyan tanár-
tantárgy összerendelést, ami nem valós tanár vagy tantárgy azonosítóra mutat). Ugyanígy
igaz, hogy nem lehet az első táblában adatot úgy módosítani vagy törölni, hogy árva
(kapcsolat nélküli) rekord jöjjön létre a másik táblában (hiszen emlékszünk, hogy az egy sok
kapcsolat egy oldala mindig kötelező!).
A szabályok:
1. Nem rögzíthető olyan idegen kulcs, ami a kapcsolt táblában, mint elsődleges kulcs nem
létezik.
2. Nem törölhető olyan elsődleges kulcs, ami a kapcsolt táblában, mint idegen kulcs
szerepel.
3. Egyszer már használt és törölt elsődleges kulcs nem használható fel még egyszer.
Informatikai alapismeretek modul Adatbázis-kezelés
22
Speciális kapcsolatok
Önillesztés
Az eddigi tanulmányaink során átnéztük a kapcsolatok leggyakoribb fajtáit, azonban további
kapcsolati lehetőségekkel is találkozhatunk az adatbázis tervezési munkánk során. A
kapcsolatok egyik különleges esete az, amikor egy és ugyanazon egyedtípus különböző
előfordulásai állnak egymással kapcsolatban.
Az ilyen típusú kapcsolatot önillesztésnek hívjuk, ami egy olyan illesztés, amelynél egy
egyedtípus rekordjai, ugyanazon egyedtípus más rekordjaihoz kapcsolódnak, ha az illesztett
mezőkben azonos értékek vannak. Az ilyen kapcsolatoknak ugyanúgy háromféle foka lehet,
mint a két egyedtípus közöttieknek. A példa ábrán egy N:M kapcsolatot látunk (egy alkatrész
sok más alkatrészből épülhet fel, és egy alkatrész több más alkatrész kialakításában is részt
vehet), mert ennél lehet a leginkább elgondolkoztató a feloldás mikéntje. Nem kell azonban
semmi mást tenni, mint alkalmazni a "közönséges" N:M fokú kapcsolatnál látott szabályt, és
egy új típusú adatszerkezethez jutunk.
A kapcsolatot feloldva a kapcsoló pontosan az alkatrészek alkotta termékszerkezetet írja le,
vagyis azt mutatja meg, hogy egy alkatrész milyen más alkatrészekből épül fel, illetve milyen
más alkatrészekbe épül be.
Kizáró kapcsolat
Egy egyedtípus több kapcsolatban is részt vehet, fontos azonban, hogy az így kialakuló
kapcsolatok mindegyike helyesen írja le a modellezendő valós adatszerkezetet.
A kapcsolatok - amellett, hogy van fokuk és jellegük - egymás közötti viszonyukban is
vizsgálhatóak. Előfordulhat, hogy két vagy több kapcsolat kölcsönösen kizárja egymást.
Tételezzük fel pl., hogy egy katonai célú adatmodellben létezik a következő három
egyedtípus: EZRED, LÖVEG, HARCKOCSI.
Alkatrész
Alkatrész
Darabjegyzék
Informatikai alapismeretek modul Adatbázis-kezelés
23
V V
Az ábrán a kapcsolatok vonalaira helyezett "V" betűk jelzik, hogy ez a két kapcsolat kizáró
viszonyban van egymással, vagyis az adott ezredhez vagy csak harckocsik, vagy csak lövegek
tartozhatnak (természetesen azzal a feltétellel, hogy ez a valóságban is így van).
Adatkapcsolati háromszög (hurok)
Vegyünk egy vásárlói adatbázis-modellt:
Ez a három egyedtípus olyan szerkezetet alkot, amelyet szoktak adatkapcsolati "háromszög"-
nek, vagy "hurok"-nak is nevezni. Érdekessége, hogy a Vevőtől elindulva két úton is el
tudunk jutni a Rendeléshez. Feltehető a kérdés, hogy vajon mennyiben indokolt az ilyen
típusú adatmodell kialakítása. Ebben a szerkezetben a Vevő-Rendelés kapcsolatot szokás
áthidaló kapcsolatnak is nevezni, kérdés tehát, hogy indokolt-e az áthidaló kapcsolatok léte,
függetlenül attól, hogy hány egyedtípust hidalnak át.
Az ortodox adatbázis elméleti felfogás szerint az áthidaló kapcsolatok redundanciát jelentenek
ezért kiküszöbölendők, az adatmodellt olyan módon kell megalkotni, hogy árhidaló
kapcsolatok nélkül is képesek legyünk a minket érdeklő adatok tárolására és lekérdezésére.
Abban az esetben, ha meghatározott Vevő-előfordulást feltételezünk, ehhez a Vevő-Rendelés
kapcsolaton keresztül meghatározott Rendelés-előfordulások fognak tartozni. Ha ugyanebből
a Vevő-előfordulásból kiindulva előbb a hozzá tartozó Telephely előfordulásokat keressük
meg, majd az ezekhez kapcsolt Rendelés-előfordulásokat, és ez utóbbi előfordulás-halmaz
Ezred
Harckocsi
Löveg
Vevő
Telephely
Rendelés
Informatikai alapismeretek modul Adatbázis-kezelés
24
megegyezik az elsővel, akkor egyértelmű, hogy az áthidaló kapcsolatnak nincsen valódi
jelentősége, szimplán csak redundanciát visz a modellbe. Ha viszont a két előfordulás halmaz
eltér, úgy szükség van az áthidaló kapcsolatra. Hozzátesszük, hogy kis (pl. irodai)
adatbázisoknál általában nehezen indokolható az ilyen típusú áthidaló kapcsolatok jelenléte,
nem nagyon jelennek meg olyan kapcsolatok, melyeket "nyílt" (hurok nélküli) adatmodellel
ne lehetne modellezni. Azt azonban, hogy melyik esetről van szó, csak a valóságos helyzet
alapos elemzésével lehet eldönteni.
Összegezve: Milyen a jó adatbázis?
Az adatbázis tervezését bizonyos alapelvek szerint végezzük. Az első alapelv, hogy az
ismétlődő információ (redundáns adat) rossz, mivel helyet pazarol, valamint növeli a hibák és
ellentmondások előfordulásának esélyét. A második alapelv, hogy az információ helyessége
és teljessége fontos. Ha az adatbázis téves információkat tartalmaz, az adatbázis alapján
készült jelentések is téves információkat fognak tartalmazni. Ennek következtében a
jelentések alapján hozott döntések téves információkon alapulnak.
A jól megtervezett adatbázisra a következők jellemzőek:
Az információkat tematikus táblákba rendezi, így csökkenti az adatok ismétlődését.
Megvannak a táblákban található információk szükség szerinti egyesítéséhez szükséges
információk.
Segíti az információk pontosságának és teljességének megőrzését.
Megfelel az adatfeldolgozási és jelentési igényeinknek.
A tervezés folyamata
A tervezés az alábbi fontos lépésekből áll:
Az adatbázis rendeltetésének meghatározása Ez segít a további lépésekre való felkészülésben.
A szükséges információk megkeresése és rendszerezése:
Gyűjtsük össze az összes információt, amelyet az adatbázisban szeretnénk rögzíteni,
mint például a termékek nevét és rendelési számát.
Az információ felosztása táblákra:
Az információinkat osszuk fel nagyobb entitásokra vagy témákra, például Termékek és
Rendelések. Minden témából később tábla lesz.
Az információegységek oszlopokká alakítása:
Döntsük el, milyen információkat szeretnénk tárolni az egyes táblákban. Minden egység
egy mezőben kap helyet, és a táblában egy adatoszlopként fog megjelenni. Például egy
Alkalmazottak nevű tábla mezői lehetnek a Vezetéknév és a Felvétel dátuma.
Elsődleges kulcsok meghatározása:
Válasszuk meg az egyes táblák elsődleges kulcsát. Az elsődleges kulcs olyan oszlop,
amellyel egyedileg azonosíthatunk minden egyes sort. Például elsődleges kulcs lehet a
Termékazonosító vagy a Rendelésazonosító mező.
Táblakapcsolatok létrehozása:
Nézzük meg a táblákat, és döntsük el, hogyan kapcsolódnak az egyes táblák adatai a
többi tábla adataihoz. Szükség esetén adjunk hozzá új mezőket a táblákhoz, vagy
hozzunk létre új táblákat, ha ez szükséges a kapcsolatok átláthatóvá tételéhez.
Informatikai alapismeretek modul Adatbázis-kezelés
25
Az utolsó simítások:
Elemezzük a tervet, keressünk benne hibákat. Hozzuk létre a táblákat, és vegyünk fel
néhány rekordnyi próbaadatot. Nézzük meg, hogy a kívánt eredményeket kapjuk-e.
Szükség esetén módosítsuk a tervet.
A normalizációs szabályok alkalmazása:
Alkalmazzuk az adat normalizációs szabályokat, hogy lássuk, a táblák szerkezete
megfelelő-e. Szükség szerint módosítsuk a táblákat.
Informatikai alapismeretek modul Adatbázis-kezelés
26
3. fejezet
Az SQL
Az SQL a strukturált lekérdező nyelv (Structured Query Language) rövidítése, melyet az IBM
dolgozott ki a DB2 relációs adatbázis-kezelőjéhez. Ma már a relációs adatbázis-kezelők
szabványosított nyelve, bár több dialektusa, bővítése alakult ki.
Az SQL egy szabványosított lekérdező nyelv, melyet több relációs adatbázis-kezelő ismer,
különböző operációs rendszerkörnyezetben. Ennek óriási jelentősége van az adatbázis
alkalmazások fejlesztőinek körében, mert így az alkalmazások a különböző operációs
rendszerek és adatbázis-kezelők között módosítás nélkül vagy csekély módosítással átvihetők.
Alapvető SQL utasítások
Adatleíró utasítások
Az adatbázis szerkezetének megadására szolgálnak. Az adatleíró utasítások segítségével
hozhatjuk létre, illetve szüntethetjük meg a relációkat, az indexeket illetve a nézet
táblázatokat. A nézet táblázat az adatbázisban fizikailag nem létező relációs műveletek
(szelekció, projekció, összekapcsolás, halmazműveletek) segítségével létrehozott táblázat,
mely a relációkhoz hasonlóan kezelhető (a Microsoft Access-ben lekérdezés).
- CREATE: létrehozás
- DROP: megszüntetés
- ALTER: módosítás
A következő példa létrehoz egy új táblát két Szöveg típusú mezővel.
CREATE TABLE [Alkalmazottak] (Vezetéknév TEXT, Keresztnév TEXT);
A következő példa létrehoz egy új táblát két Szöveg típusú és egy Egész típusú mezővel. Az
Alkalmazottkód mező az elsődleges kulcs.
CREATE TABLE [Alkalmazottak] (Vezetéknév TEXT, Keresztnév TEXT, Alkalmazottkód
INTEGER CONSTRAINT Táblakorlátozás PRIMARY KEY);
A következő példa létrehoz a Vevők táblához egy új indexet a Alkalmazottkód mező alapján.
Nem létezhet két rekord ugyanazzal a Alkalmazottkód értékkel, és nincs engedélyezve a
NULL érték.
CREATE UNIQUE INDEX AlkID ON Alkalmazottak (Alkalmazottkód) WITH
DISALLOW NULL;
Az előző példában létrehozott indexet a DROP utasítás segítségével lehet törölni. A
következő kódrészlet a DROP utasítás segítségével törli az új indexet.
DROP INDEX AlkID ON Alkalmazottak;
Informatikai alapismeretek modul Adatbázis-kezelés
27
A következő példa hozzáad az Alkalmazottak táblához egy Fizetés nevű, Pénznem típusú
mezőt.
ALTER TABLE Alkalmazottak ADD COLUMN Fizetés CURRENCY;
A következő példa eltávolítja a Fizetés mezőt az Alkalmazottak táblából.
ALTER TABLE Alkalmazottak DROP COLUMN Fizetés;
Adatkezelő utasítások
Az SQL adatmanipulációs része biztosítja a relációk feltöltését, az attribútumok módosítását
és a sorok törlését. Ide tartozik az ún. lekérdező nyelvi rész is, mely valójában egyetlen
utasításból áll, bár számos alparancsot tartalmazhat, és a lekérdező utasítások többszörös
mélységben egymásba ágyazhatók.
- SELECT: kiválogatás
- INSERT: beszúrás
- DELETE: törlés
- UPDATE: módosítás, frissítés
A következő példa kijelöli az Alkalmazottak tábla valamennyi rekordját.
SELECT * FROM Alkalmazottak;
A következő példa kijelöli az Alkalmazottak tábla összes rekordjából a Vezetéknév és a
Keresztnév mezőt.
SELECT Vezetéknév, Keresztnév FROM Alkalmazottak;
A következő példa azokat az alkalmazottakat listázza, akiknek a fizetése nagyobb, mint
50000.
SELECT Vezetéknév, Keresztnév FROM Alkalmazottak
WHERE Fizetés>50000;
A következő példa fizetés szerint csoportosítja a dolgozókat és csak azokat a fizetési
kategóriákat jeleníti meg, melybe több mint 10 dolgozó tartozik.
SELECT Fizetés, COUNT(Vezetéknév) FROM Alkalmazottak
GROUP BY Fizetés
HAVING COUNT(Vezetéknév)>10;
A következő példa létrehoz egy új rekordot az Alkalmazottak táblában:
INSERT INTO Alkalmazottak (Keresztnév, Vezetéknév, Fizetés) VALUES ('Pista', 'Budai',
52000);
Informatikai alapismeretek modul Adatbázis-kezelés
28
A következő példa töröl az Alkalmazottak táblából minden olyan rekordot, amelyben a
Fizetés mező értéke nagyobb 100000-nél Ha a FROM záradék csak egyetlen táblát tartalmaz,
akkor a DELETE utasításban nem kell megadni a táblanevet.
DELETE * FROM Alkalmazottak WHERE Fizetés > 100000;
A következő példa minden olyan rekord Fizetés mezőjét megnöveli 20 százalékkal, melynek
jelenlegi értéke kisebb, mint 50000.
UPDATE Alkalmazottak SET Fizetés = Fizetés*1,2 WHERE Fizetés < 50000;
Vezérlő utasítások
Az adatbázis adminisztratív jellegű karbantartását teszik lehetővé. A SQL vezérlő nyelv több
funkciót lát el, ezek közül a tranzakciók kezeléséhez szükséges parancsok a legfontosabbak.
A logikailag egybetartozó SQL utasításokat tranzakcióknak nevezzük. Az adatbázis
ellentmondásmentes tartalmának megőrzéséhez a tranzakcióknak maradéktalanul végre kell
hajtódniuk. Azonban egy tranzakció megszakadása esetén is gondoskodni kell az adatbázis
konzisztenciájának megőrzéséről. Erre a COMMIT és ROLLBACK parancs pár szolgál. A
sikeresen végrehajtott tranzakciók után a COMMIT parancs kiadásával véglegesíthetjük a
tranzakció során végrehajtott változtatásokat a relációkban. A ROLLBACK parancs
segítségével pedig visszaléphetünk az előző véglegesített állapothoz. Bizonyos parancsok
automatikusan COMMIT-ot eredményeznek (CREATE TABLE, QUIT stb.). De az
AUTOCOMMIT rendszerváltozó beállításától függően minden parancs kiválthat egy
COMMIT-ot is.
- GRANT: jogadás
- REVOKE: jogmegvonás
- COMMIT: művelet jóváhagyása (tranzakció)
- ROLLBACK: művelet visszavonása (tranzakció)
- LOCK: zárolás
- SET: környezeti változók beállítása (pl. nyelv)
A MS-Access esetén ezeket a vezérlő jellegű funkciókat, nem az SQL, hanem az adatbázis
kezelő objektumorientált programozási része végzi. Így ezek az utasítások teljes egészében
hiányoznak, helyettük objektumokon elvégezhető műveletekkel (metódusokkal) találkozunk.
Ilyenek például a tranzakciós utasításokat kiváltó metódusok. A tranzakciós metódusok a
tranzakciók feldolgozását végzik egy Ms-Access adatbázis objektum által definiált
munkafolyamatban, az alábbiak szerint:
- A BeginTrans elindít egy új tranzakciót.
- A CommitTrans befejezi az aktuális tranzakciót, és menti a változtatásokat.
- A Rollback befejezi az aktuális tranzakciót, és a MS-Access adatbázis objektumban lévő
adatokat visszaállítja abba az állapotba, amelyben azok az aktuális tranzakció elindításakor
voltak.
Informatikai alapismeretek modul Adatbázis-kezelés
29
A MS-Access mint relációs adatbázis kezelő rendszer
A MS-Access egy Windows környezetben futó relációs adatbázis kezelő rendszer. Van 16
bites (MS Access 1.0 és 2.0) és 32 bites (Access 95, Access 97, Access 2000, Access 2003,
Access 2007) változata is. Az alkalmazásfejlesztéshez az Access a VBA (Visual Basic for
Applications) programnyelvet, adatbázis műveletekhez pedig az SQL-t (Access SQL)
használja. Vizuális fejlesztőkörnyezet jellemzi, nagy hatékonyságú, OLE támogatást
megvalósító adatbázis kezelő és alkalmazásfejlesztő programkörnyezet.
Ms-Access fogalmak
Tábla
Az egyedtípus, adott objektumhoz tartozó adatok halmazát tárolja. A tábla adatai oszlopokra
(mező) és sorokra (rekord) vannak bontva.
Mező
Az általunk vizsgált egyedtípus egy tulajdonsága, az információ egy osztálya.
Rekord
Adott egyedről tárolt információk gyűjteménye. A tábla összes rekordja ugyanazokból a
mezőkből áll, és a mezők az egyes rekordokon belül ugyanolyan típusú információkat
tárolnak.
Lekérdezés
Egy kérdés, melyet az adatbázis adataival kapcsolatban teszünk fel. A lekérdezés által
kiválasztott rekordok összessége az eredményhalmaz.
Lekérdezések fajtái:
- Rekordhalmazt eredményező: virtuális táblaként szolgálhatnak más objektumoknak
(lekérdezések, űrlapok, jelentések). A keletkezett eredmény azért virtuális, mivel a
táblákban rögzített adatokra nem hat ki a lekérdezés eredménye, a keletkezett tábla nem
valós.
- Választó lekérdezés: a lekérdezés alkalmas kívánt mezők ill. rekordok
kiválasztására a kimenetre. Továbbá alkalmas sorrend (alsorrend-fősorrend)
meghatározására, adatok összeválogatására több táblából, számított oszlopok
(mezők) kialakítására, csoportok képzésére ill. sorforrás létrehozására űrlapok ill.
jelentések számára.
- Kereszttáblás lekérdezés: ha nem egy hanem két adat szerint kell csoportosítást
végezni, akkor a kereszttáblás lekérdezés alkalmas az adatok áttekinthetőbb
formában történő megjelenítésére.
- Akció lekérdezések: az akció lekérdezések, mint a nevük is mutatja, valamilyen műveletet
hajtanak végre az adatbázis adatain, futtatásukkal a táblákban lévő adatok változnak.
- Táblakészítő: egy vagy több tábla adataiból új táblát hoz létre.
- Frissítő: globálisan változtatja meg rekordok egy csoportját egy vagy több
táblában.
- Hozzáfűző: táblák rekordcsoportjait adja más táblák végéhez.
- Törlő: rekordcsoportokat töröl egy vagy több táblából, megadott feltétel szerint.
Informatikai alapismeretek modul Adatbázis-kezelés
30
Űrlap
Objektum, mely adatrekordok bevitelére, módosítására, és megtekintésére szolgál egyedi terv
szerint. Űrlapok segítségével rekordokat jeleníthetünk meg a képernyőn és a nyomtatón.
Űrlapok fajtái:
- Egyoszlopos: egyszerre egy rekord adatai jeleníthetőek meg, jól alkalmazható adatbeviteli
feladatok megoldására.
- Táblázatos: sorokba és oszlopokba rendezve, táblázatos formában mutatja meg adatainkat.
Minden oszlop egy mezőt, minden sor egy rekordot szimbolizál.
- Adatlapos: elsősorban segédűrlapon használjuk, a táblák megnyitási képére hasonlító
formában láthatjuk a kiválasztott adatokat.
- Fő és segédűrlap: ha az űrlapon szereplő adatok közt egy-sok kapcsolat van, vagyis az
egyik a másiknak „gyűjtőkategóriája”, akkor fő és segédűrlapos rendszert használunk, ahol
is a főűrlap a gyűjtőkategória, a segédűrlapon pedig az adott rekordhoz tartozó adatokat
tekinthetjük meg.
Űrlapok részei:
- Űrlapfej: általában az űrlap címét tartalmazza. Nyomtatáskor csak egyszer a legelső
oldalon jelenik meg.
- Oldalfej: kifejezetten nyomtatási képhez definiáljuk. Nyomtatáskor minden oldal tetején
megjelenik.
- Törzs: az űrlap lényegi része, ez tartalmazza a rekordokat.
- Oldalláb: kifejezetten nyomtatási képhez definiáljuk. Nyomtatáskor minden oldal alján
megjelenik.
- Űrlapláb: nyomtatásban az utolsó oldalon megjelenő adatok.
Jelentés
Objektum, melynek segítségével egyedi terv szerint nyomtathatunk rekordokat. A jelentés,
rekordok csoportosítására, valamint a jelentés rész ill. végösszegeinek megjelenítésére
használható.
Makró
Nem más, mint műveletek listája, melyet a MS-Access automatikusan végrehajt a makró
meghívásakor.
Modulok
VBA-ban írt függvényeket és eljárásokat tartalmazó objektum, mely más objektumokból
(űrlap, jelentés) meghívható.
Vezérlőelem
Eszköz, melynek segítségével mezőértékek, számítások eredményei, címek és üzenetek,
grafikonok, képek és más objektumok jeleníthetőek meg űrlapokon és jelentéseken.
Objektum:
Eszköz, mint pl. a tábla, űrlap vagy vezérlőelem, mely kijelölhető és egy egységként
kezelhető.
Informatikai alapismeretek modul Adatbázis-kezelés
31
A MS-Access munkakörnyezete
A MS-Access Windows alatt futó hálózati relációs adatbázis-kezelő program. A program
segítségével alakíthatjuk ki az adatbázis tábláit, lekérdezéseit és egyéb objektumait. A relációs
adatbázis-kezelésben az SQL, míg a kiszolgáló objektumok elkészítéséhez és
tulajdonságainak beállításához a VBA (Visual Basic for Application) nyelvet használhatjuk.
A MS-Access indítása a telepítés után a Start Menü\Programok\Microsoft Access útvonalon
megtalálható ikon segítségével történik alapesetben. A MS-Access programállománya az
MSACCESS.EXE amit akár parancssorból, paraméterezve is indíthatunk. Az
állományregisztrációnak köszönhetően azonban, ha egy MS-Access állománytípusra
kattintunk, a rendszer automatikusan indítja a programot.
Az Office Access 2007 verzió négy különböző saját állománytípussal rendelkezik:
ACCDB:Ez az Office Access 2007 új fájlformátumának kiterjesztése. Ez váltja fel
akorábbi MDB fájlkiterjesztést. A MS-Access adatbázisok az ebben az állományban
tárolják az összes adatbázis objektumot és adatot, melyek kezelésére a Microsoft Jet
működtető rendszert használják.
ACCDE: lefordított forráskódú állomány Ez az Office Access 2007 „csak
végrehajtás” módú fájljainak kiterjesztése. Az ACCDE-fájlokból el van távolítva
minden VBA-forráskód. Az ACCDE-fájlok felhasználói csak végrehajtani tudják a
VBA-kódot, módosítani nem. Az ACCDE az MDE fájlkiterjesztést váltja fel.
ACCDT:Az Access adatbázissablonok fájlkiterjesztése.
ACCDR:Az új ACCDR fájlkiterjesztés lehetővé teszi, hogy egy adatbázist futásidejű
módban nyissunk meg. Egyszerűen meg kell változtatni az adatbázisfájl kiterjesztését
.accdb-ről .accdr-re, így létrehozzuk az Office Access 2007-adatbázis egy „zárolt”
verzióját. Ha később vissza szeretnénk állítani a fájl teljes működőképességét,
visszanevezhetjük .accdb kiterjesztésűre.
A MS-Access ezen felül még egy állományt használ az adatbázis rekordjainak védelmében.
Rekord szerkesztésekor a Microsoft Access automatikusan megakadályozhatja, hogy más
felhasználók megváltoztassák a rekordot a szerkesztés befejezése előtt. Ezeket egy
úgynevezett zároló fájl segítségével teszi. Az adatbázisok megnyitásakor a fájl zárolását egy
zároló fájl vezérli. Az Office Access 2007 formátumának megfelelő fájlok (az .accdb fájlok)
esetében az Access egy .laccdb kiterjesztésű fájl létrehozásával és megnyitásával kezeli a
zárolást. Így például a db1.accdb megnyitásakor az Access létrehozza és megnyitja a
db1.laccdb zároló fájlt. Az .laccdb fájlok is automatikusan törlődnek, amikor minden
felhasználó bezárja az adatbázist.
Informatikai alapismeretek modul Adatbázis-kezelés
32
4. fejezet
A MS-Access indítása, adatbázisok létrehozása
Az Office Access 2007 kezelőfelületének legfontosabb elemei a következők:
Microsoft Office Access – első lépések:Ez a lap jelenik meg először, amikor az Access
alkalmazást a Start menüből vagy egy asztali parancsikonnal elindítjuk.
Az Office Fluent felület menüszalagja A programablak fölött elhelyezkedő terület,
ahol kiválaszthatjuk a parancsokat.
Parancslap: Ésszerű módon csoportosított parancsok.
Környezetfüggő parancslap:A környezettől, tehát a használt objektumtól vagy a
végrehajtás alatt álló feladattól függően megjelenő parancs lap.
Gyűjtemény: A választási lehetőségeket vizuális formában megjelenítő
vezérlőelem, így láthatjuk a várható eredményt.
Gyorselérési eszköztár: Egységes, általános eszköztár, amely a menüszalagban
jelenik meg, és amelyből egy kattintással elérhetők a legszükségesebb parancsok,
például a Mentés és a Visszavonás.
Navigációs ablak: Az ablak bal oldalán található terület, amely megjeleníti az adatbázis-
objektumokat. A Navigációs ablak az előző Access verziók Adatbázis ablakát
helyettesíti.
Dokumentumfülek: A táblák, lekérdezések, űrlapok, jelentések, lapok és makrók
dokumentumfülként jelennek meg.
Állapotsor: A programablak alján található sáv, amely állapotinformációkat jelenít meg,
továbbá nézetváltásra szolgáló gombokat tartalmaz.
Minipult: Egy, az objektumok fölött található elem, amely a kijelölt szöveg fölött
átlátszó formában jelenik meg, segítségével egyszerűen alkalmazhatunk formázást a
szövegre.
Az Indító párbeszédpanel
A MS-Access indítása után a következő kép tárul a szemünk elé:
Informatikai alapismeretek modul Adatbázis-kezelés
33
Amit itt látunk az az ún. Indító párbeszédpanel.(első lépések) Az Indító párbeszédpanel a
Microsoft Access elindítása után megjelenő első párbeszédpanel. A MS-Access program első
futtatásakor az indító párbeszédpanelen választani lehet, hogy új adatbázist szeretnénk
létrehozni, vagy egy már létezőt szeretnénk megnyitni.
Az Office Access 2007 új felhasználói felületét számos, a termékkel való kapcsolatot
meghatározó elem alkotja. Az új elemek kiválasztása úgy történt, hogy segítsenek az Access
hatékony kezelésében és a szükséges parancsok gyorsabb megtalálásában. Az új felület
segítségével könnyebben felfedezhetünk olyan funkciókat, amelyek különben rejtve
maradnának az eszköztárak és menük számos rétege alatt. Az első lépések is gyorsabban
megtehetők az új Microsoft Office Access – első lépések oldalnak köszönhetően, amellyel
gyorsan hozzáférhetünk az első lépésekkel kapcsolatos tanácsokhoz, és amely
professzionálisan kialakított sablonokat is tartalmaz.
A MS-Access két módszert kínál új adatbázis létrehozására. Létrehozhatunk egy üres
adatbázist, majd ehhez később hozzáadhatjuk a táblákat, űrlapokat, jelentéseket és egyéb
objektumokat. Ez rugalmas megoldás, de ekkor az adatbázis elemeit egyenként kell definiálni.
A másik módszernél Adatbázis varázslót használunk, és a választott adatbázis-típusnak
megfelelő táblákat, űrlapokat és jelentéseket egyetlen művelettel létrehozhatjuk. Az adatbázis
létrehozásának ez az egyszerűbb módszere. Az adatbázis, létrehozási módjától függetlenül,
később bármikor módosítható és bővíthető. Választhatunk a helyi sablonok közül, de
amennyiben van Internet elérésünk, akkor onnan is tölthetünk le sablonokat.
Ha új, üres MS-Access adatbázist szeretnénk létrehozni, jelöljük ki az "Üres Access
adatbázis" választógombot, majd kattintsunk az OK gombra.
Ekkor a képernyő jobb oldalán megjeleníti nekünk az új Üres adatbázis létrehozás lehetősége.
Ha a nyíló mappára kattintunk, akkor a Mentés (itt Új adatbázis) párbeszédpanellel
találkozunk, ahol beállíthatjuk, hogy melyik könyvtárba és milyen néven szeretnénk az új
Informatikai alapismeretek modul Adatbázis-kezelés
34
adatbázisunkat menteni. Alapértelmezetten a "Adatbázisn.accdb" nevet adja a MS-Access az
adatbázisnak, ahol az n az éppen létrehozandó adatbázis sorszáma, azt jelzi, hogy a MS-
Access megnyitása óta hányadik üres adatbázissal dolgozunk.
Ha kiválasztottuk a helyet, és nevet adtunk neki, akkor kattintsunk az OK gombra. Ilyenkor
visszatérünk az előző Access ablakhoz, ahol még a Létrehozás gombot kell megnyomni. Az
üres adatbázis még nem tartalmaz a felhasználó által definiált objektumokat, de már
tartalmazza azokat a rejtett rendszerobjektumokat, melyeket a MS-Access a további
adatkezelésben használ. Az Access ilyenkor felkínálja nekünk az első tábla létrehozásának
elehetőségét, amit egyelőre (ameddig mi magunk nem mentjük), Tábla1-nek nevez el.
Ha a nyitó párbeszédablakon a helyi sablonok közül választunk, (jelen esetben a Tanulók
adatbázist) akkor miután a jobboldalon megadtuk a mentés helyét, (az előbb már említett
módon)és a létrehozás gombra kattintunk, akkor az Access létrehozza az adatbázis,amit máris
használhatunk, vagy később módosíthatunk.
Informatikai alapismeretek modul Adatbázis-kezelés
35
A "Legutóbb használt adatbázisok egyikének megnyitása" lehetőség kiválasztása esetén, a
nyitó párbeszédpanelen, az alatta lévő listában lévő néhány legutóbb megnyitott adatbázis
állomány és az "Egyebek" opció között választhatunk. Ez utóbbi választása esetén a
Megnyitás párbeszédablak jelenik meg, melynek segítségével megkereshetjük a megnyitni
kívánt adatbázis állományt.
Adatbázisok létrehozása megnyitása az Office gomb segítségével
Új adatbázis létrehozása
Adatbázisokat az Office gomb Új menüpontjával is létrehozhatunk.
Informatikai alapismeretek modul Adatbázis-kezelés
36
A menüpont kiválasztása után ugyanazt az ablakot kapjuk, mint az Access indításánál. Innen
már a korábban említett módon tudunk továbblépni.
Létező adatbázis megnyitása
Létező adatbázisokat a Office gomb Megnyitás menüpontjával tudunk. A menüpont
kiválasztása után az ismert Tallózás ablakot kapjuk, melyben a szokásos módon
megkereshetünk egy adatbázis állományt.
A Navigációs ablak
A Navigációs ablak a MS-Access adatbázis állomány megnyitásakor alapértelmezetten
megjelenő ablak. Adatbázis esetén ebben az ablakban a baloldalon ki tudjuk választani a
Táblák, Lekérdezések, Űrlapok, Lapok, Makrók Modulok vagy egyéb lehetőségek listáját. Ha
a táblákat választjuk, akkor az alatta levő listában megjelennek az adatbázisban levő táblák.
Minden objektumtípus esetében az ablakban megjelenő objektumokra való dupla kattintással
képesek vagyunk az adott objektumot szerkesztésre megnyitni. Ilyenkor az objektum formai
és szerkezeti jellemzőit nem módosíthatjuk, csupán az objektum által megjelenített adatokhoz
férünk hozzá,valamit ezeket tudjuk szerkeszteni, átírni.
Ilyenkor az Access a Kezdőlap szalagmenüt kínálja nekünk fel. Itt az adott nézethez
kapcsolódó lehetőségek közül választhatunk. Ezekről a későbbiekben lesz szó.
Az Access ablak felső részén a Szalagmenüben a Nézet gomb használatával az adott
megnyitott objektumunkat, Tervező vagy egyéb nézetre tudjuk váltani. A Tervező nézet a
tábla, lekérdezés, jelentés, makró vagy űrlap felépítését megjelenítő ablak, melyben
módosíthatjuk ezen objektumok szerkezetét. Az Access azok szerint, hogy milyen nézetben
vagyunk, a Szalagmenüben az adott nézethez tartozó lehetőségeket kínálja fel. Tervező
nézetben az alapértelmezett bekapcsolt szalagmenü a Tervezés lehetőségeit kínálja fel.
Informatikai alapismeretek modul Adatbázis-kezelés
37
Lehetőségünk van minden objektumtípus esetén új objektum létrehozására. Ekkor a
szalagmenü Létrehozás lehetőségét kell választanunk. Az Access csoportosítva megjeleníti
nekünk a szalagmenüben a lehetőségeket. Választhatunk a lehetőségek közül. Két fontosabb
lehetőséget említenék meg, amelyeket a későbbiekben gyakran fogunk használni.
- létrehozás Varázslóval, (pl. Lekérdezés varázsló) amikor előre a rendszer által beállított
formai és szerkezeti jellemzőket kap az objektum,
- vagy létrehozás Tervező nézetben, (pl. Lekérdezés tervező) amikor az objektum formai és
a szerkezeti jellemzőit egyénileg adjuk meg.
Természetesen a Navigációs ablak használatával az adott objektumra kattintva, a
szalagmenüből, vagy az adott objektumon jobbegér gombot kattintva törölhetjük is az
Informatikai alapismeretek modul Adatbázis-kezelés
38
objektumokat. Átnevezésre használhatjuk a jobb egérgomb lenyomására felbukkanó
gyorsmenü Átnevezés parancsát.
Szalagmenü szerkezet
A felhasználói felület legjelentősebb újítása a menüszalag, mely a Microsoft Office Fluent
felhasználói felület részét képezi. A menüszalag az alkalmazásablak felső részén végighúzódó
sáv, mely csoportokba rendezett parancsokat tartalmaz. Az Office Fluent felület menüszalagja
egyetlen helyre gyűjti össze a parancsok túlnyomó részét, így leváltja a menüket és
eszköztárakat. A szalag különböző lapjai az ésszerűség elve szerint csoportosítják a
parancsokat. Az Office Access 2007 alkalmazásban a menüszalag főbb lapjai a Kezdőlap, a
Létrehozás, a Külső adatok és az Adatbáziseszközök. Minden lapon parancsok adott
funkciókörökhöz tartozó csoportjai helyezkednek el, melyekben a felhasználói felület egyéb
újításai is felbukkannak – mint például a beállítási lehetőségeket vizuálisan szemléltető, új
típusú vezérlőelem, a gyűjtemény.
A MS-Access a szokásos - az Office-ban megszokott - szalagmenükön kívül, több saját, csak
a MS-Access-re jellemző szalagmenüt is tartalmaz. A szalagmenük a parancsok gyors,
egylépéses kiadására szolgáló ikonokat funkció szerint foglalják össze.
A Microsoft Access nagyon sok, adott funkciókhoz kötődő szalagmenüt, és ezeken
parancsokat tartalmaz. Ezek részletes ismertetése meghaladja jelen jegyzet kereteit, a
legfontosabb, a funkciók használatához szükséges lehetőségeket az adott tevékenység
bemutatásánál ismertetjük.
Informatikai alapismeretek modul Adatbázis-kezelés
39
Videokazetták adatbázis
Nézzük meg a Microsoft Access használatát egy egyszerű adatbázis példán keresztül! Indítsuk
el a Microsoft Accesst, majd az Indító párbeszédpanel által felkínált lehetőségek közül
válasszuk a Legutóbbi használt adatbázisok megnyitását, azon belül is az Egyebek opciót!
Nyissuk meg az U:\Videokazetták.mdb adatbázis állományt! A fenti figyelmeztetősávon
kattintsunk a Beállítások gombra, majd a megjelenő Biztonsági riasztás párbeszéd ablakban
kattintsunk a Tartalom engedélyezése lehetőségre, majd nyomjuk meg az OK gombot
A megnyitás után a következő ablakkal találkozunk:
Mint észrevettük a Navigációs ablak a megnyitás után azonnal kisméretűvé vált, így a Fő
kapcsolótábla űrlap foglalja el a munkaterületünk központi részét. Zárjuk be a Fő
kapcsolótáblát, majd a Navigációs ablakot nyissuk vissza eredeti méretére.
Informatikai alapismeretek modul Adatbázis-kezelés
40
Kapcsolatok
Kattintsunk az Adatbáziseszközök szalagmenü Kapcsolatok parancsára. A megjelenő
Kapcsolatok ablak mutatja meg nekünk az adatbázis logikai szerkezetét (az adatmodellt).
Elemezzük ki a megismert módszerek szerint az adatmodellt (kapcsolatok, kulcsok, normál
formák), majd zárjuk be a kapcsolatok ablakot. A kapcsolatok megtekintése minden
adatbázisban fontos dolog. Lehetőleg kezdjük itt a munkánkat, amikor számunkra ismeretlen
adatbázissal van dolgunk. Megtudhatjuk, hogy egy adatbázisban milyen táblák
vannak,valamint ezek hogyan kapcsolódnak egymáshoz.
Használat
Menjünk a Navigációs ablak Objektumai közül az Űrlapokra! Nyissuk vissza a Fő
kapcsolótáblát (Kapcsolótábla), majd kattintsunk a Videokazetták megjelenítése gombra!
Az űrlap alján egy rekordléptető gombsort találunk:
Informatikai alapismeretek modul Adatbázis-kezelés
41
Első Előző Rekordmutató Következő Utolsó Új rekord
Kattintsunk az Új rekord gombra! Egy új, üres, szerkeszthető rekordot kapunk. Írjuk be a
leírást!
Kattintsunk a Műsorok a videokazettán részben a Programnév mezőbe duplát! Egy új űrlap
nyílik meg, ahol megadhatjuk a videokazettán szereplő film adatait.
Ha megadtuk az adatokat, az ablak bezárásával elmenthetjük az adatbázisba azokat. Az
általunk bevitt adatok automatikusan megjelennek a Videokazetták űrlapon. Kattintsuk duplát
a Szereplők űrlaprész színész mezőjébe, majd a megjelenő űrlapban adjuk meg a színész
adatait.
Ellenőrizzük, hogy minden helyesen jelent-e meg a Videokazetták űrlapon! Ha igen zárjuk be
azt, visszatérve így a Fő kapcsolótábla űrlaphoz. Kattintsunk a Jelentések gombra, majd a
megjelenő Jelentések kapcsolótáblán válasszuk a Programlista színészenként jelentés
nyomtatási képe gombot. A megnyíló jelentésen keressük meg az általunk felvitt színészt és
filmet!
Informatikai alapismeretek modul Adatbázis-kezelés
43
Táblák kezelése
A Northwind adatbázis
További munkánk során a Microsoft Access adatbázis-kezelőhöz mellékelt Northwind
mintaadatbázison keresztül fogjuk az adatbázis-kezelés alapjait elsajátítani. A Northwind
mintaadatbázis azt a célt szolgálja, hogy a felhasználók minél egyszerűbben szerezhessenek
gyakorlatot az adatok kezelésében. Az adatbázisban található adatbázis-objektumok (táblák,
lekérdezések, űrlapok, jelentések, makrók és modulok) bemutatják a Microsoft Access
programban használható és a saját adatbázisokba is beépíthető különféle lehetőségeket. A
Northwind adatbázis segítségével elsajátíthatjuk a relációs adatbázisok kezelésének
módszereit, és megérthetjük, hogy miként működnek együtt az adatbázis-objektumok az
adatbevitel, adattárolás, adatkezelés, valamint az adatok megjelenítése és kinyomtatása során.
Nyissuk meg az U:\ Northwind.accdb állományt, majd a Beállítások gombra kattintva az
információs sávon, jelenítsük meg a Biztonsági riasztás párbeszédablakot és kattintsunk a
Tartalom engedélyezése lehetőségre. Az OK gomb megnyomása után megjelenik a
Northwind üdvözlő képernyője.
Nyomjuk meg az OK gombot, majd kérjük a Kapcsolatok megjelenítését, a már említett
módon, és elemezzük az adatbázis szerkezetét!
Informatikai alapismeretek modul Adatbázis-kezelés
44
A Microsoft Access objektum-elnevezési szabályai
A Microsoft Access programban egy név maximum 64 karakterből állhat, és szerepelhet
benne betű, szám, szóköz és számos speciális karakter, kivéve a pontot (.), a felkiáltójelet (!),
a kezdő egyszeres idézőjelet (`) és a szögletes zárójelet ([ ]). Szintén nem adható meg vezető
szóköz és vezérlőkarakter (ASCII értékeket 0-tól 31-ig). Ne írjunk szóközt az
objektumnevekbe, ha gyakran hivatkozunk azokra kifejezésben vagy Visual Basic kódban. Ne
használjunk túl hosszú neveket, mert nehéz megjegyezni őket, és nehéz hivatkozni rájuk.
A Microsoft Access automatikusan is adhat neveket, pl. vezérlőelemek vagy varázslóval
létrehozott objektumok esetén. A szabály ebben az esetben az, hogy az objektumtípus
nevéhez fűz hozzá a Microsoft Access egy számot, ami az eddig felhasznált objektumok
számát jelzi (pl.: Szöveg10).
A tábla mint Microsoft Access objektum
A tábla fizikailag az egyedtípus, az adott objektumhoz tartozó adatok halmazát tárolja. A tábla
adatai oszlopokra (mező) és sorokra (rekord) vannak bontva. Minden rekord egy konkrét
egyedhez tartozik, és minden mező az egyedtípusra jellemző, azonos típusú adatokat tárol.
Két tábla összekapcsolása mindkét táblában megtalálható, közös mezőn keresztül valósítható
meg. A táblák alkalmasak arra, hogy közvetlenül vigyünk be adatokat, ill. a már bevitt
adatokat szerkesszük, azokon rendezéseket, szűréseket hajtsunk végre.
Táblában használt adattípusok
Az adattípus változók és mezők tulajdonsága, amely megadja, hogy milyen típusú adatot
tárolhat az illető elem. A Szöveg vagy a Feljegyzés típusú mezőkben például lehet szöveg is
és szám is, de a Szám típusú mezőben csak számot lehet tárolni. A Szám adatmezőben
matematikai számításhoz szükséges numerikus adatokat tárolhatunk. A Pénznem adattípust
pénzadatok megjelenítésére és velük való számolásra használhatjuk. Az elfogadott
adattípusok három kategóriába tartoznak:
- mező-adattípusok,
- Visual Basic adattípusok és
- lekérdezés-paraméterek adattípusai.
A következők figyelembe vételével döntsük el, hogy egy adott mezőhöz milyen adattípust
érdemes választani:
- Milyen jellegű adatokat szeretnénk a mezőben tárolni?
- Mekkora tárolóterületet szeretnénk engedélyezni a mezőben lévő érték számára?
- Milyen típusú műveleteket kívánunk végrehajtani a mezőben tárolt értékeken? A Microsoft
Access például képes a Szám és Pénznem mezőkben lévő értékek összegzésére, de pl. a
Szöveg és az OLE objektum típusú mezőkben lévő értékeket nem lehet matematikai
művelet hatálya alá vonni.
- Kívánjuk-e a mezőt rendezni vagy indexelni? A Feljegyzés, Hiperhivatkozás és OLE
objektum mezőket nem lehet sem rendezni, sem indexelni.
- Szeretnénk-e a mezőt rekordok csoportosításához használni lekérdezésekben és
jelentésekben? A Feljegyzés, Hiperhivatkozás és OLE objektum mezőket nem lehet
rekordok csoportosítására használni.
Informatikai alapismeretek modul Adatbázis-kezelés
45
- Hogyan szeretnénk az értékeket elrendezni egy mezőben? Szöveg mezőben a számok
karaktersorozatként rendeződnek (1, 10, 100, 2, 20, 200 és így tovább), nem pedig
numerikus értékként. A numerikus értékek numerikus rendezéséhez használjunk Szám
vagy Pénznem mezőt. Ezen túlmenően sok dátumformátum rendezése nem lesz megfelelő,
ha a mező típusa Szöveg. A megfelelő rendezéshez használjunk Dátum/Idő típusú mezőt.
A következő táblázat bemutatja, hogy milyen adattípusok léteznek az Office Access 2007
alkalmazásban.
Adattípus Mit tárol Méret
Szöveg Betűk és számok
Szöveges adatok vagy olyan
számadatok esetén, amelyeket nem
használunk számításokban (például
termékazonosítók).
Legfeljebb 255 karakter
terjedelmű.
Feljegyzés Betűk és számok (255 karakternél
hosszabb) vagy Rich Text formázás.
255 karakternél hosszabb szöveg
vagy Rich Text formázás esetén
használható. Feljegyzés
adatformátum használatára jó példák
maguk a feljegyzések, hosszú
leírások és félkövér vagy dőlt
formázást tartalmazó bekezdések.
Legfeljebb 1 gigabájtnyi
karakter, illetve 2 gigabájt
tárhely (2 bájt
karakterenként), amelyből
egyszerre 65 535 karakter
jeleníthető meg
egyszerre.
Szám Számértékek (Egész vagy tört
értékek).
Számításokban használni kívánt
számok tárolására, kivéve a
pénzmennyiségeket (pénzügyi
értékek tárolására használjuk a
Pénznem adattípust).
1, 2, 4 vagy 8 bájt, illetve
16 bájt, ha replikációs
azonosítóként használtuk.
Dátum/idő Dátumok és időpontok.
Dátum és időpont értékek tárolására.
Minden tárolt értéknek van egy
dátum- és egy idő komponense.
8 bájt.
Pénznem Pénzügyi értékek.
Pénzügyi értékek (pénznem)
tárolására.
8 bájt.
Informatikai alapismeretek modul Adatbázis-kezelés
46
Adattípus Mit tárol Méret
Számláló Egyedi számérték, amelyet az Office
Access 2007 automatikusan beszúr,
amikor egy rekordot felveszünk.
Egyedi, elsődleges kulcsként
használható értékek generálhatók
vele. A Számláló mező növelhető
egyesével, megadott növekménnyel,
vagy választható véletlenszerűen.
4 bájt, vagy ha
replikációs azonosítóként
használjuk, 16 bájt.
Igen/Nem Logikai értékek.
Igaz/Hamis mezőkben használható
olyan helyzetekben, ahol csak két
válasz lehetséges: például Igen/Nem
vagy Igaz/Hamis.
1 bit (8 bit = 1 bájt).
OLE objektum OLE-objektumok vagy egyéb bináris
adatok.
Más Microsoft Windows
alkalmazásokból származó OLE-
objektumok kezelésére használható.
Legfeljebb 1 gigabájt.
Melléklet Képek, bináris fájlok, Office-fájlok.
Digitális képek és bármilyen bináris
fájlok tárolására elsődlegesen
használandó adattípus.
Tömörített mellékletek
esetében 2 gigabájt.
Tömörítetlen mellékletek
esetében körülbelül 700
kilobájt, a tömöríthetőség
mértékétől függően.
Hiperhivatkozás Hivatkozások.
Hivatkozások segítségével egy
kattintással elérhetünk weblapokat
egy URL, vagy fájlokat az UNC
formátum segítségével. Ezenkívül
hivatkozhatunk egy adatbázisban
tárolt Access objektumra is.
Legfeljebb 1 gigabájtnyi
karakter, illetve 2 gigabájt
tárhely (2 bájt
karakterenként), amelyből
egyszerre 65 535 karakter
jeleníthető meg
egyszerre.
Keresés varázsló Nem igazi adattípus, hanem a
Keresés varázslót hívja elő.
Ezzel indíthatjuk el a Keresés
varázslót, és azzal létrehozhatunk
egy mezőt, amely egy kombinált lista
segítségével tud megkeresni egy
értéket egy másik táblában,
lekérdezésben vagy értéklistában.
Tábla vagy lekérdezés
alapú: A kötött oszlop
mérete.
Érték alapú: Az értéket
tároló Szöveg típusú
mező mérete.
Informatikai alapismeretek modul Adatbázis-kezelés
47
A Szám, Dátum/Idő, Pénznem és Igen/Nem adattípusok előre megadott megjelenítési
formátumokat használnak. Az egyes adattípusoknál beállítható formátumok közül a
Formátum tulajdonsággal lehet választani. Az OLE objektum kivételével minden adattípushoz
létrehozható egyéni megjelenítési formátum is.
Mezőtulajdonságok
A mezőtulajdonságok olyan jellemzők csoportját jelentik, amelyek segítségével még
hatékonyabban lehet irányítani a mező viselkedését, beállíthatjuk a tárolás, kezelés,
megjelenítés módját. Ha például egy Szám vagy Pénznem adattípusú mező Formátum
tulajdonságának értéke Pénznem, akkor a mezőben automatikusan megjelenik az Ft jel, a
tizedesvessző és két tizedesjegy (1,234.50 Ft). A mező tulajdonságainak beállításához
kattintsunk a mezőre a Tervező nézet felső részében, majd az alsó részben állítsuk be a kívánt
tulajdonságot. A beállítható tulajdonságok a mező adattípusától függenek. Nem soroljuk fel,
hogy melyik adattípusnál milyen mezőtulajdonság állítható be, hisz a Microsoft Access
automatikusan mindig csak a típusnak megfelelő tulajdonságokat kínálja fel.
1. Az alábbi táblázat felsorolja az elérhető mezőtulajdonságokat.
Mezőtulajdonság Címzett
Mezőméret Egy Szöveg, Szám vagy Számláló típusú adat maximális
mérete.
Formátum A mező megjelenése megtekintéskor vagy nyomtatáskor.
Tizedeshelyek
(DecimalPlaces)
Megadja, hogy hány tizedeshelyet használjon a számok
megjelenítésekor.
Új értékek Megadja, hogy a Számláló mezőben növekvő vagy
véletlenszerű értékek szerepelnek-e.
Beviteli maszk
(InputMask)
Szerkesztőkarakterek megjelenítése az adatbevitel
irányításához.
Cím Az űrlapok, jelentések és lekérdezések alapértelmezett
címkéje.
Alapértelmezett érték Automatikusan felvesz egy értéket a mezőbe, ha új
rekordokat veszünk fel az adatbázisba.
ÉrvényességiSzabály Egy kifejezés, amelynek Igaz értékűnek kell lennie a mező
értékének megváltoztathatásához.
ÉrvényesítésiSzöveg Az itt beírt szöveg jelenik meg, ha egy érték nem felel meg
az Érvényességi szabályban található kifejezésnek.
Kötelező Kötelezővé teszi adat megadását a mezőben.
Nulla hosszúság
engedélyezése
Ha értéke igen, egy Szöveg vagy Feljegyzés mezőben
megadhatunk nulla hosszúságú karaktersorozatot ("").
Indexelt Meggyorsítja az adatok elérését ebben a mezőben egy index
létrehozásával és használatával.
Informatikai alapismeretek modul Adatbázis-kezelés
48
Mezőtulajdonság Címzett
Unicode-tömörítés Tömöríti a mezőben tárolt szöveget, ha az nagyobb
mennyiségű (több, mint 4096 karakter).
IME-mód Az ázsiai Windows-verziókban a karakterek konverziójának
irányítása.
IME-mondatmód Az ázsiai Windows-verziókban a karakterek konverziójának
irányítása.
Intelligens címkék Egy intelligens címkét csatol a mezőhöz.
CsakHozzáfűzés Igen érték esetén engedélyezi a Feljegyzés mezők
verziókövetését.
Szövegformátum Rich Text érték esetén HTML formátumban tárolja a
szöveget és lehetővé teszi a szövegformázást. Egyszerű
szöveg érték esetén csak a szöveget tárolja, formázás nélkül.
Szövegigazítás
(TextAlign)
A szöveg alapértelmezett igazítását határozza meg a
vezérlőelemben.
Pontosság Megadja az összesen (a tizedesvesszőtől balra és jobbra
együtt) használható számjegyek számát.
Skála Meghatározza, összesen hány számjegy tárolható a
tizedesvesszőtől jobbra.
Mezőméret
Mezőméret
tulajdonság Leírás
Szöveg Adjunk meg egy értéket 1 és 255 karakter között. A Szöveg típusú
mezők hossza 1 és 255 karakter közé esik. Ha hosszabb szöveges
mezőre van szükségünk, használjunk Feljegyzés mezőt.
Szám Válasszuk a megfelelő beállítást:
Bájt– 0 és 255 közé eső számértékek tárolására. A
tárhelyigénye egy bájt.
Egész– -32 768 és +32 768 közé eső számértékek tárolására.
A tárhelyigénye két bájt.
Hosszú egész– -2 147 483 648 és +2 147 483 647 közé eső
számértékek tárolására. A tárhelyigénye négy bájt.
Egyszeres– -3,4 x 1038
és +3,4 x 1038
közé eső lebegőpontos
számérték, legfeljebb hét értékes számjeggyel. A
tárhelyigénye négy bájt.
Dupla– -1,797 x 10308
és +1,797 x 10308
közé eső
lebegőpontos számérték, legfeljebb tizenöt értékes
számjeggyel. A tárhelyigénye nyolc bájt.
Decimális– -9,999... x 1027
to +9,999... x 1027
közé eső
számérték. A tárhelyigénye tizenkét bájt.
Informatikai alapismeretek modul Adatbázis-kezelés
49
Mezőméret
tulajdonság Leírás
Számláló Válasszuk a megfelelő beállítást:
Hosszú egész– Egyedi számértékek tárolására szolgál. Ha az
Új értékek mezőtulajdonság értéke Növekvő, értéke 1 és +2
147 483 648 közé esik, míg ha a mezőtulajdonság értéke
Véletlenszerű, értéke -2 147 483 648 és +2 147 483 647 közé
esik.
Formátum
Az adatok megjelenítési módját állíthatjuk be az adatok tárolására nincs hatással. A Microsoft
Access Szám, Pénznem valamint Igen/Nem adattípus esetén az alábbiakat ajánlja fel:
Formátum
tulajdonság
Szám Válasszuk a megfelelő beállítást:
Általános szám– úgy jeleníti meg a számot, ahogy beírtuk.
Például a 3456,789 kiíráskor 3456,789 formában jelenik meg.
Pénznem– A számot ezres elválasztóval jeleníti meg, és a
Vezérlőpult Területi és nyelvi beállításaiban megadott, a
negatív értékekre, tizedes elválasztókra, pénzegységekre és
tizedes helyekre vonatkozó beállításokat alkalmazza.
Például 3456,789 a következő formában jelenik meg: 3456,79
Ft.
Euró– a számot az Euró pénznemszimbólummal jeleníti meg,
a Területi és nyelvi beállításokban megadott szimbólum
helyett.
Rögzített– Legalább egy számjegyet megjelenít, és a
Vezérlőpult Területi és nyelvi beállításaiban megadott, a
negatív értékekre, tizedesjelekre, pénzegységekre és
tizedeshelyekre vonatkozó beállításokat alkalmazza.
Például a 3456,789 a következő formában jelenik meg:
3456,79.
Szabványos– a számot ezres elválasztóval jeleníti meg, és a
Vezérlőpult Területi és nyelvi beállításaiban megadott, a
negatív értékekre, tizedesjelekre és tizedeshelyekre vonatkozó
beállításokat alkalmazza. Ez a formátum nem jelenít meg
pénzegységeket.
Például a 3456,789 a következő formában jelenik meg: 3
456,79.
Százalék– az értéket 100-zal szorozza, és a számhoz egy
százalékjelet tesz.
Például a 0,3456 a következő formában jelenik meg: 34,56%.
Tudományos– A szám tudományos normálalakját jeleníti
meg.
Például a 3456,789 a következő formában jelenik meg:
3,46E+03.
Informatikai alapismeretek modul Adatbázis-kezelés
50
Dátum/idő Válasszunk a következő előre megadott megjelenítési formátumok
közül:
Általános dátum– Az értéket a Rövid dátum és a Hosszú idő
formátumok kombinálásával jeleníti meg.
Hosszú dátum– A dátumot a Vezérlőpult Területi és nyelvi
beállításaiban megadott Hosszú dátum formátumban jeleníti
meg.
Egyszerű dátum– A dátumot yy. mmm. dd. (például 06. júl.
14.) formátumban jeleníti meg.
Rövid dátum– A dátumot a Vezérlőpult Területi és nyelvi
beállításaiban megadott Rövid dátum formátumban jeleníti
meg.
Hosszú idő– A dátumot a Vezérlőpult Területi és nyelvi
beállításaiban megadott Idő formátumban jeleníti meg.
Közepes idő– Az értéket ÓÓ:PP de/du. formátumban jeleníti
meg, ahol a ÓÓ az óra, PP a perc, és az időponttól függően de.
vagy du. jelenik meg. Az óra értéke 1 és 12 közé esik, a perc
értéke 0 és 59 közé.
Rövid idő– Az értéket ÓÓ:PP formátumban jeleníti meg, ahol
ÓÓ az óra, PP a perc. Az óra értéke 0 és 23 közé esik, a perc
értéke 0 és 59 közé.
Igen/Nem Válasszuk a megfelelő beállítást:
Igaz/Hamis– az érték Igaz vagy Hamis formában jelenik meg.
Igen/Nem– az érték Igen vagy Nem formában jelenik meg.
Be/Ki– az érték Be vagy Ki formában jelenik meg.
Amennyiben ezek a formátumok nem felelnek meg, választhatjuk az egyéni formátum
megadását is. Numerikus mezők egyéni formátuma legfeljebb 4, egymástól pontosvesszővel
elválasztott részt tartalmazhat. A Microsoft Access a formátum első részét használja, ha a
szám pozitív, a másodikat, ha negatív, a harmadikat, ha az érték nulla, és a negyediket, ha
nem tartalmaz értéket. Például a +0,0;-0,0;0;"üres" egyéni formátum azt jelenti, hogy a
pozitív és a negatív számok előjellel jelennek meg és az "üres" szó lesz látható, ha a mező
nem tartalmaz értéket.
Általános dátum választásakor, ha nem gépelünk be időpontot, csak a dátum, ha nem írunk be
dátumot, csak az időérték jelenik meg.
Szöveg típusú mezők egyéni formátuma legfeljebb 3, egymástól pontosvesszővel elválasztott
részt tartalmazhat. A Microsoft Access a formátum első részét használja szöveget tartalmazó
mező esetén, a másodikat nulla hosszúságú karakterlánc esetén, a harmadikat üres mező
esetén. Például a @;"hiányzik";"üres" egyéni formátum szokásos módon jeleníti meg a
mezőbe beírt szöveget, ha azonban a mező nulla hosszúságú, akkor "hiányzik", ha a mező
nem tartalmaz semmit, akkor "üres" szöveg jelenik meg.
Tizedes helyek
Szám és pénznem adattípusok esetében a kijelzett tizedes jegyek számát jelenti.
Informatikai alapismeretek modul Adatbázis-kezelés
51
Cím
Az űrlapon, jelentésekben vagy Adatlap nézetben használt mező feliratát adja, ha nem adjuk
meg akkor a mező neve lesz a címke.
Alapértelmezett érték
Egy a típusnak megfelelő érték, amely új rekord felvitelekor automatikusan beíródik az adat
helyére. Hasznos, ha sok azonos érték szerepel több rekordban, ilyenkor nem kell minden
esetben ezt beírni, hanem automatikusan hozzárendelődik az adatmezőhöz.
Érvényességi szabály
Szabályokat rendelhetünk a mezőhöz, pl. meghatározhatjuk, hogy egy érték nem lehet kisebb
nullánál, vagy egy időérték nem lehet nagyobb az aktuális dátumnál. Ha az adott mező
szerkesztése után átlépünk egy másik mezőbe, és a bevitt érték nem felel meg az érvényességi
szabálynak, akkor az érvényesítési szövegben megadott figyelmeztető üzenet jelenik meg a
képernyőn.
Érvényesítési szöveg
Azon üzenet szövegét adhatjuk meg, amely akkor jelenik meg, amikor a mező nem, teljesíti
az érvényességi szabályban meghatározott korlátozó feltételeket. Ha az Érvényességi szabályt
beállítjuk, de az érvényesítési szöveget nem, akkor az érvényességi szabály sérülésekor a
Microsoft Access szabványos hibaüzenetet ad.
Új értékek
Az Új értékek tulajdonsággal megadhatjuk, hogyan növekedjenek a Számláló mezők, ha új
rekordot adunk a táblához. Beállítási lehetőségei:
- Növekvő: A Számláló mezők értéke 1-gyel nő minden új rekord esetén.
- Véletlenszerű: A Számláló mezők értékei új rekordonként változó, véletlenszerű Hosszú
egész értékek.
Beviteli maszk
A beviteli maszkot mezőkben (táblák és lekérdezések esetén), valamint beviteli mezőkben és
kombinált listákban (űrlapok esetén) használjuk adatok formázására és annak szabályozására,
hogy milyen értékeket lehessen beírni. A beviteli maszk literál karakterekből (például
szóközökből, pontokból, vonalakból és zárójelekből) áll, amelyek elválasztják a kitöltendő
üres helyeket. A Beviteli maszk tulajdonság beállítása literál karakterekből és különleges
karakterekből áll; ez utóbbiak azt határozzák meg, hogy az adott üres helyre milyen értéket
lehet beírni. A beviteli maszkot elsősorban Szöveg és Dátum/Idő mezőkben használjuk, de
használható Szám és Pénznem típusú mezőkben is.
A Microsoft Access a Beviteli maszk tulajdonság meghatározásának első részében lévő
karaktereket a következő táblázat szerint értelmezi. Literál karakter megadásához írjunk be
olyan karaktert, amely a táblázatban nem szerepel. Ha a következő karakterek egyikét literál
karakterként szeretnénk megadni, akkor írjunk elé egy \ jelet.
A beviteli maszkokban használatos karakterek
A következő táblázat felsorolja a beviteli maszkokban használható helyőrző és konstans
karaktereket, valamint leírást ad róluk.
Informatikai alapismeretek modul Adatbázis-kezelés
52
Karakter Funkció
0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnunk.
9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem
kötelezően.
# Ebben a pozícióban egy számjegyet, szóközt, vagy pluszjelet illetve
mínuszjelet adhatunk meg. Ha kihagyjuk ezt a pozíciót, az Access egy
szóközzel tölti ki.
L Betű. Ebben a pozícióban egyetlen betűt kell megadnunk.
? Betű. Ebben a pozícióban nem kötelező megadni betűt.
A Betű vagy számjegy. Ebben a pozícióban egyetlen betűt vagy számjegyet
kell megadni.
a Betű vagy számjegy. Ebben a pozícióban nem kötelező megadni betűt vagy
számjegyet.
& Bármilyen karakter vagy szóköz. Ebben a pozícióban egyetlen karaktert
vagy egy szóközt kell megadni.
C Bármilyen karakter vagy szóköz. Ebben a pozícióban nem kötelező
megadni karaktert vagy szóközt.
. , : ; - / Ezres és tizedes elválasztók, dátumelválasztók és időelválasztók. A
használt karakter a Microsoft Windows területi beállításaitól függ.
> Az összes következő karakter nagybetűkkel jelenik meg.
< Az összes következő karakter kisbetűkkel jelenik meg.
! A beviteli maszk nem jobbról balra, hanem balról jobbra töltődik fel.
\ Az Access megjeleníti a soron következő karaktert. Hatása ugyanaz,
mintha a karaktert dupla idézőjelek közé tennénk.
"Konstans
szöveg"
A felhasználó számára megjeleníteni kívánt szöveget dupla idézőjelek közé
kell tennünk.
Jelszó Egy tábla vagy űrlap Tervező nézetében, ha a Beviteli maszk
tulajdonságnak a Jelszó értéket adjuk, jelszóbeviteli mezőt hozunk létre.
Amikor a felhasználó jelszót gépel be a mezőbe, az Access menti a
karaktereket, de csillag karakterként (*) jeleníti meg őket.
Kötelező
A Kötelező tulajdonság segítségével meghatározhatjuk, hogy kötelező legyen egy érték
megadása az adott mező esetében. Ha rekordba történő adatbevitel közben a tulajdonság
beállítása Igen, akkor a mezőben vagy mezőhöz kötött bármilyen vezérlőelemben meg kell
adnunk egy értéket, és ez az érték nem lehet üres (Null). Megszabhatjuk például, hogy a
Vezetéknév vezérlőelemnek minden rekord esetében legyen értéke.
Nulla hosszúság engedélyezése
Megadja, hogy a nulla hosszúságú karakterlánc ("") érvényes adatbevitel-e. Az üres
értékekhez hasonlóan a nulla hosszúságú karakterláncot tartalmazó Szöveg típusú mezők is
Informatikai alapismeretek modul Adatbázis-kezelés
53
üresen jelennek meg. Nulla hosszúságú karakterláncot úgy tudunk bevinni, hogy egymás
mellé két felső idézőjelet írunk be, melyek közé nem teszünk szóközt.
Indexelt
Az Indexelt tulajdonság segítségével egy egymezős indexet állíthatunk be. Az indexek
felgyorsítják az indexelt mezőkben történő lekérdezéseket, sorba rendezéseket és
csoportosításokat. Ha például alkalmazottak neveit keressük a Vezetéknév mezőben, akkor a
keresés felgyorsítása érdekében létrehozhatunk egy indexet ehhez a mezőhöz.
Beállítás Leírás
Nem (Alapértelmezett ) Nincs index.
Igen (lehet azonos) Az index lehetővé teszi az azonos értékeket.
Igen (nem lehet azonos) Az index nem teszi lehetővé az azonos
értékeket.
Informatikai alapismeretek modul Adatbázis-kezelés
54
5. fejezet
Táblák használata
Nézetek
A tábláknak két alapvető nézete van: Tervező nézet és Adatlap nézet. A nézetek közötti
váltáshoz kattintsunk az szalagmenü Nézet gombjára, amelymindig a baloldalon helyezkedik
el. Ezt a gombot csak akkor látjuk, ha egy objektum meg van nyitva. A Nézet gomb váltási
lehetőségei mindig az adott objektumtól függenek.
A Nézet gomb egy váltógomb. Amikor a tábla Adatlap nézetben jelenik meg, akkor ez az
egyetlen gomb, amivel átválthatunk Tervező nézetre és vissza. A tábla jobbegér gombbal való
megnyitásakor is választhatunk, hogy melyik nézetben szeretnénk a táblát megnyitni.
Adatlap nézet
A tábla Adatlap nézetében megtekinthetjük és szerkeszthetjük a benne található adatokat,
illetve új adatokat adhatunk hozzá. Ellenőrizhetjük a táblában a helyesírást, nyomtathatjuk az
adatokat, szűrhetjük és rendezhetjük a rekordokat, megváltoztathatjuk az adatlap
megjelenését, és oszlopok hozzáadása és törlése által megváltoztathatjuk a tábla szerkezetét.
Nyissuk meg a Fuvarozók táblát Adatlap nézetben!
Informatikai alapismeretek modul Adatbázis-kezelés
55
Megfigyelhető, hogy a tábla rekordjai előtt egy segédadatlap jelölő plussz (+) jel áll. A
segédadatlap egy másik adatlapba, azzal kapcsolatos vagy illesztett adatokat tartalmazó
beágyazott adatlap. Segédadatlap Microsoft Access adatbázisban táblához, vagy
lekérdezéshez vehető fel. A Microsoft Access a táblák közötti kapcsolatok kialakítása után, az
Adatlap nézetben automatikusan megjeleníti a segédadatlapokat. A felhasználó is beilleszthet
segédadatlapot a Kezdőlap szalagmenü Rekordok panel, Egyebek, Segédadatlap parancsával.
Ugyanitt el is távolítható a Segédadatlap.
A segédadatlapok alapesetben nem látszanak, megjeleníthetőek azonban a tábla első
oszlopában található segédadatlapjelölőre való kattintással (ilyenkor az "-" jelre változik). A
megjelenítés az adott rekordra és szintre vonatkozik.
Tervező nézet
A tábla Tervező nézetében új táblát hozhatunk létre, meglévő táblákba mezőket vehetünk fel,
meglévő tábla mezőit törölhetjük, vagy módosíthatjuk tulajdonságait, kijelölhetjük az
azonosító (elsődleges kulcs) mezőket.
Váltsunk át a Nézetváltó gomb segítségével Tervező nézetre az előbb megnyitott Fuvarozók
tábla megjelenítését!
Informatikai alapismeretek modul Adatbázis-kezelés
56
Új tábla létrehozása
A Microsoft Access több módot kínál üres tábla létrehozásához:
Táblát létrehozhatunk új adatbázis létrehozásával, tábla meglévő adatbázisba történő
beillesztésével, vagy külső adatforrás importálásával vagy csatolásával – ez lehet egy
Microsoft Office Excel 2007 munkafüzet, egy Microsoft Office Word 2007 dokumentum, egy
szövegfájl vagy egy másik adatbázis. Amikor új üres adatbázist hozunk létre, az Access
automatikusan létrehoz egy új táblát. Ezután elkezdhetjük a mezők meghatározását adatok
beírásával.
A tábla létrehozásához használt módszertől függetlenül a tábla további testre szabásához
bármikor használhatjuk a Tervező nézetet. Ilyen további testre szabás lehet például új mező
hozzáadása, alapértelmezett érték beállítása vagy beviteli maszk létrehozása.
Új tábla létrehozása meglévő adatbázisban
A Létrehozás szalagmenü Táblák csoportjában kattintsunk a Tábla gombra.
Egy új tábla jelenik meg az adatbázisban, amelyet az alkalmazás megnyit Adatlap
nézetben.
Tábla létrehozása táblasablon alapján
Ha Névjegyalbum, Feladatok, Problémák, Események vagy Eszközök táblát szeretnénk
létrehozni, célszerű lehet az Office Access 2007 megfelelő táblasablonjaival kezdeni
A Létrehozás szalagmenü Táblák csoportjában kattintsunk a Táblasablonok gombra,
majd válasszunk egyet a listán szereplő sablonok közül.
Az alkalmazás beszúr egy új táblát a kiválasztott sablon alapján.
Tábla létrehozása importálással vagy csatolással
Új táblát létrehozhatunk máshol tárolt információk importálásával vagy csatolásával. Például
importálhatjuk vagy csatolhatjuk egy Excel-munkalap, SharePoint-lista, XML-fájl, másik
Access-adatbázis, Microsoft Office Outlook 2007 mappa vagy számos egyéb forrás adatait.
Az információk importálása során másolatot készítünk az külső adatokról az aktuális
adatbázis új táblájában. Ezzel szemben az adatok csatolásakor egy csatolt táblát hozunk létre
az adatbázisban, amely élő kapcsolatban áll a máshol tárolt adatokkal. Így ha a csatolt tábla
Informatikai alapismeretek modul Adatbázis-kezelés
57
adatait módosítjuk, az eredeti forrás adatai is módosulnak. Ha egy másik alkalmazás
módosítja az eredeti forrás adatait, a változások megjelennek a csatolt táblában is. Bizonyos
esetekben a csatolt táblán keresztül nem tudjuk módosítani az eredeti forrás adatait, például ha
az eredeti forrás egy Excel-munkalap.
A Külső adatok szalagmenü Importálás csoportjában kattintsunk az egyik elérhető
adatforrásra. Kövessük a párbeszédpanelek utasításait.
Az Access létrehoz egy új táblát és megjeleníti a navigációs ablakban.
Tábla létrehozása SharePoint-lista alapján
Létrehozhatunk egy olyan táblát az adatbázisban, amely egy SharePoint-listából importálja
vagy csatolja az adatait. Ez a lista lehet korábban létrehozott lista; ez esetben az adatokat
importálhatjuk vagy csatolhatjuk belőle, vagy lehet egy új lista is, amely egy előre
meghatározott sablon alapján készült. Az Office Access 2007 előre megadott sablonjai:
Névjegyalbum, Feladatok, Problémák és Események.
A Létrehozás szalagmenü Táblák csoportjában kattintsunk a SharePoint-listák gombra.
majd tegyük a következők egyikét: Kattintsunk a Névjegyalbum, Feladatok, Problémák
és Események menüpontok egyikére.
A Lista létrehozása párbeszédpanelen adjuk meg a SharePoint-webhely címét, amelyen a
listát el szeretnénk helyezni. Ezenkívül adjuk meg az új SharePoint-lista nevét és leírását.
Ha létrehozása után meg szeretnénk nyitni a csatolt táblát, jelöljük be a Lista megnyitása
befejezéskor jelölőnégyzetet (alapértelmezés szerint be van jelölve). Ha nem, töröljük a
jelet a jelölőnégyzetből! Kattintsunk az OK gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
58
Tábla létrehozása táblatervezővel
A Létrehozás szalagmenü Táblák csoportjában kattintsunk a Táblatervező gombra.
Tervező nézetben a mezők nevét a Mezőnév oszlop kitöltésével határozzuk meg, majd
hozzárendeljük a megfelelő típust, az Adattípus lenyíló lista használatával. A későbbi
fejlesztések és visszakeresések megkönnyítése érdekében a mezőkhöz megjegyzéseket is
fűzhetünk, melyeket a Leírás oszlopban tehetünk meg.
Írjuk be első mezőnévnek, hogy DolgozóKód, majd válasszuk ki az adattípusok közül a
Számláló lehetőséget (a Szöveg típus az alapértelmezés)!
Vigyük fel a további mezőket a következő nevekkel és adattípusokkal:
- AlkalmazottKód:Szám
- Keresztnév: Szöveg
- Vezetéknév: Szöveg
- Lakáscím: Szöveg
- Telefonszám: Szöveg
- Születési év: Dátum/Idő
- Fizetés: Pénznem
Ha készen állunk a tábla mentésére, kattintsunk az eszköztár Mentés gombjára, és írjuk be a
tábla nevét, mely ebben az esetben legyen Dolgozók! Nem kötelező elsődleges kulcsot
definiálni, de általában tanácsos. Ha nem definiálunk elsődleges kulcsot, akkor a Microsoft
Access rákérdez a tábla mentésekor.
Kattintsunk az Igen gombra, minek hatására a Microsoft Access a Számláló típusú mezőt teszi
elsődleges kulccsá (vagyis a DolgozóKódot).
Informatikai alapismeretek modul Adatbázis-kezelés
59
Munka Tervező nézetben
Nyissuk vissza a most létrehozott Dolgozók táblát Tervező nézetben.
A Tervező ablak két fő részre oszlik: felül a mezők és adattípusok megadására szolgáló, alul a
mezőtulajdonságok meghatározásához használható ablakrészt láthatjuk. Ez utóbbi jobb
oldalán egy kis súgómező látható, mely az éppen kijelölt mezővel kapcsolatos legfontosabb
információkat jeleníti meg.
Mezők beszúrása, mozgatása, törlése
Új mező beszúrásához a táblát Tervező nézetben kell megnyitni. Ha táblán belül szeretnénk a
mezőt beszúrni, kattintsunk azon sor alá, ahová a mezőt hozzá szeretnénk adni, majd
kattintsunk a Tervezés szalagmenü Eszközök csoportjának Sorok beszúrása gombjára.
Ugyanez a lehetőség elérhető a jobb egérgomb lenyomása esetén megjelenő gyorsmenüből is.
Ha a mezőt a tábla végéhez szeretnénk hozzáadni, kattintsunk az első üres sorra. Most
kattintsunk a Vezetéknév mezőbe, majd a sorok beszúrása gombra! Egy új üres mező jelenik
meg a Keresztnév és a Vezetéknév mező között. Az új mező neve legyen Középsőnév, típusa
pedig Szöveg!
Ha csatolt tábláról van szó, ahhoz az aktuális adatbázisban nem lehet új mezőt hozzáadni.
Informatikai alapismeretek modul Adatbázis-kezelés
60
Sorok mozgatásához, az adott sort ki kell jelölni a sorkijelölő használatával. A sorkijelölő egy
kis négyzet vagy sáv, amelyre kattintva egész sorokat lehet kijelölni a tábla vagy makró
Tervező nézetében. A sorkijelölő a jelentés Tervező nézetében a Rendezés és csoportosítás
panelben is megjelenik. Ezután az egérrel az ismert "húzd-és-ejtsd" módszert használva a sor
áthelyezhető. Ha a tábla Tervező nézetében módosítjuk a mezők sorrendjét, ezzel módosítjuk
azt a sorrendet is, ahogyan a mezők a táblában elhelyezkednek, valamint azt a sorrendet,
ahogyan az oszlopok a tábla adatlapján szerepelnek.
Ha egy sort szeretnénk törölni, először ki kell jelölni a sort a sorkijelölő használatával, majd a
szalagmenü előbbi helyéről vagy a gyorsmenüből a sorok törlését kell kérni.
Ha egy törölt mezőre más adatbázis-objektumok hivatkoznak, akkor törölni kell a
hivatkozásokat is. Ha például egy jelentés törölt mezőhöz kötött vezérlőelemet tartalmaz, a
Microsoft Access nem tudja a mezőből az adatokat megkeresni, és hibaüzenetet küld. Nem
lehet kapcsolat részét képező mezőt törölni. Először a kapcsolatot kell törölni.
Mezők testreszabása
Minden mező rendelkezik néhány tulajdonsággal, amelyeket a mező tárolásának, kezelésének
és megjelenítésének testre szabásához lehet használni. Beállíthatjuk például a Mezőméret
tulajdonság segítségével, hogy egy Szöveg típusú mezőbe maximálisan hány karaktert lehet
beírni. A mező tulajdonságait úgy állítjuk be, hogy egy táblát megjelenítünk Tervező
nézetben, kijelölünk egy mezőt az ablak felső részében, majd az ablak alsó részében adjuk
meg a kívánt tulajdonságot.
A megnyitott Dolgozók táblánkban kattintsunk a Keresztnév mezőbe! Az alsó ablakrészen
megjelennek a mező adattípusához használható tulajdonságok.
- Állítsuk át a Mezőméret tulajdonságot az alapértelmezett 255 karakterről 20 karakterre!
Ezáltal a Keresztnév mezőbe bevihető szöveg mérete csökkent.
- Adjuk meg a Cím mezőbe a "Másodiknév" értéket. Ezáltal, ha űrlapon, jelentésben vagy
lekérdezésben hivatkozunk a mezőre, a mező "Másodiknév" címkével (felirattal) fog
megjelenni.
- A Kötelező mezőben válasszuk az Igen lehetőséget, hiszen minden embernek van
keresztneve.
- A Nulla hosszúság engedélyezése mezőben Válasszuk a Nem-et.
- Kattintsunk a Megjelenítés fülre! Itt adhatjuk meg, hogy melyik legyen az az
alapértelmezett vezérlőelem, amely a mezőben lévő adat megjelenítésére szolgálhat. A
Beviteli mező, a Lista, és a Kombinált Lista között választhatunk.
Ha készen vagyunk, jelöljük ki a Születési idő mezőt! A mezőtulajdonságok között keressük
meg a Formátum lehetőséget (az az első), majd adjuk meg a formátumot, amely legyen
Hosszú dátum!
Informatikai alapismeretek modul Adatbázis-kezelés
61
Most válasszuk a Fizetés mezőt! Mint látható, a hozzárendelhető tulajdonságok száma itt
kevesebb. Válasszuk a Tizedeshelyek lehetőséget, és az alapértelmezett automatikus értékről
(mely a területi beállítások szerint 2 tizedesjegy) állítsuk át 1 tizedesjegyre!
Beviteli maszk megadása
Kattintsunk a Telefonszám mezőre! A Mezőtulajdonságok között keressük meg a Beviteli
maszk mezőt és kattintsunk bele! A mező jobb oldalán megjelenik egy ikon, mely három
pontot tartalmaz. Ez az ikon jelzi, hogy az adott mezőhöz szerkesztő vagy varázsló
párbeszédpanel tartozik. Kattintsunk erre a kis gombra! Megjelenik a Beviteli maszk varázsló
párbeszédablaka.
Itt választhatunk az előre elkészített beviteli maszkok közül. Válasszuk a Telefonszám
lehetőséget, majd kattintsunk a Tovább gombra! A következő két ablakban módosíthatnánk az
előre beállított maszkértékeket, de ezt most nem tesszük. Kattintsunk a befejezés gombra! A
varázsló a "(\00) 000-0009;;_" beviteli maszkot adta meg. Értelmezzük az általa megadott
beviteli maszk jelöléseit!
Érvényességi szabály és érvényesítési szöveg megadása
Válasszuk ki a Fizetés mezőt! Mivel abban biztosak vagyunk, hogy a fizetés értéke 0 Ft-nál
nagyobb összeg, ezért olyan érvényességi szabályt kell beállítanunk, mely nem engedi meg
null vagy mínusz értékek bevitelét a mezőbe. Az ehhez tartozó érvényességi szabály tehát:
>0. Figyeljük meg, hogy a reláció bal oldalán nem áll semmi, oda ugyanis a rendszer az
aktuális mezőértéket helyettesíti be. Kattintsunk bele a mezőtulajdonságok közül az
Érvényességi szabályba és írjuk be az előbb meghatározott relációt.
Lehetőségünk van itt is szerkesztőt igénybe venni, az ún. Kifejezésszerkesztő áll itt a
rendelkezésünkre. A Kifejezésszerkesztő használatával később behatóbban megismerkedünk.
Ezután adjuk meg az Érvényesítési szöveget, azt az üzenetet, ami akkor jelenik meg, ha rossz
értéket visznek fel. Legyen ez pl.: "Túl kevés ez fizetésnek!".
Informatikai alapismeretek modul Adatbázis-kezelés
62
Indexek megadása
Az index segítséget nyújt, hogy a Microsoft Access gyorsabban tudjon rekordokat keresni és
rendezni. A Microsoft Access úgy használ indexet egy táblában, ahogyan mi egy könyvben az
adatok kereséséhez megkeresi az indexben szereplő adatok helyét. Indexet létre lehet hozni
akár több mező alapján is. A több mezős indexek lehetővé teszik azoknak a rekordoknak a
megkülönböztetését, ahol az első mezőben azonos adat szerepel.
Általában olyan mezőket érdemes indexelni, amelyek alapján gyakran végzünk keresést,
rendezést, amelyeket lekérdezésekben más táblákban lévő mezőkhöz illesztünk. Az indexek
azonban lelassíthatnak bizonyos módosító lekérdezéseket (például a hozzáfűző
lekérdezéseket), ha sok mező indexét kell frissíteni a műveletek során.
A táblák elsődleges kulcsa automatikusan indexelve van, és nem indexelhető az olyan mező,
amelynek adattípusa Feljegyzés, Hiperhivatkozás vagy OLE objektum. A többi mezőt esetleg
érdemes indexelni a következő esetekben:
- A mező adattípusa Szöveg, Szám, Pénznem vagy Dátum/Idő.
- Előre tudható, hogy a mezőben tárolt értékeket keresni kell.
- Előre tudható, hogy a mezőben értékeket kell rendezni.
- Előre tudható, hogy a mezőben sok különféle értéket kell tárolni. Ha a mezőben
sok érték azonos, akkor az indexelés valószínűleg nem gyorsítja meg jelentősen a
lekérdezéseket.
Ha úgy gondoljuk, hogy gyakran keresünk vagy rendezünk egyszerre két vagy több mező
alapján, akkor az adott mezőkombinációhoz létrehozhatunk külön indexet. Ha például
ugyanabban a lekérdezésben gyakran állítunk be feltételeket a Vezetéknév és a Keresztnév
mező számára, akkor célszerű, ha a mezőre vonatkozóan egy több mezőből álló indexet
hozunk létre.
Amikor egy táblát több mezőből álló index alapján rendezünk, a Microsoft Access először az
index első mezője szerint rendez. Ha több olyan rekord is van, amely az első mezőben azonos
értékkel rendelkezik, akkor a Microsoft Access az index második mezője szerint is elvégzi a
rendezést stb.
Kattintsunk az ablak felső részében arra a mezőre, amelyhez indexet szeretnénk létrehozni. Ez
jelen esetben legyen a Vezetéknév mező. Kattintsunk az ablak alsó részében az Indexelt
tulajdonságmezőre, és válasszuk az Igen (lehet azonos) értéket, mivel gyakran keresünk
nevekre, de egy személynyilvántartásban gyakran előfordulnak ugyanolyan vezetéknevű
emberek. Az Igen (nem lehet azonos) lehetőséget akkor érdemes bejelölni, ha biztosítani
szeretnénk, hogy ebben a mezőben két rekord értéke ne lehessen azonos.
Most kattintsunk az eszköztár Indexek ikonjára!
A megjelenő ablakban tekinthetjük meg a már létrehozott indexeket ill. szerkeszthetjük őket.
Informatikai alapismeretek modul Adatbázis-kezelés
63
Mint látjuk minden indexhez külön név tartozik, és azt is megadhatjuk, hogy az indextáblában
milyen rendezés legyen az irányadó.
Az indexek tulajdonságai:
- Elsődleges: az Elsődleges (Primary) tulajdonság segítségével meghatározhatjuk
egy tábla elsődleges kulcs mezőjét. Az elsődleges kulcs mező a táblában lévő
rekordokat egyedileg azonosító adatokat tartalmaz.
- Egyedi: az Egyedi (Unique) tulajdonsággal biztosíthatjuk valamely indexben az
adatok egyediségét. Az ilyen index a tábla kulcsindexe.
- Null érték kihagyása: eme tulajdonság segítségével meghatározhatjuk, hogy az
indexelt mezőkben lévő Null értéket tartalmazó rekordok ne kerüljenek be az
indexbe.
Most hozzunk létre egy több mezőből álló indexet! Az Indexnév oszlop első üres sorába írjuk
be az index nevét, pl.: Név. Az indexnek nevet adhatunk az index mező után, de
használhatunk más nevet is. Kattintsunk a Mezőnév oszlopban a nyílra, és jelöljük ki az index
első mezőjét, mely legyen a Keresztnév. A Mezőnév oszlop következő sorában jelöljük ki az
index második mezőjét, mely ez alkalommal a Vezetéknév. (Az adott sorban hagyjuk üresen
az Indexnév oszlopot.) Ismételjük ezt a lépést mindaddig, amíg ki nem jelöljük az index
összes mezőjét. Legfeljebb 10 mező adható meg.
Az alapértelmezett rendezési sorrend a Növekvő. Ha az adott mező adatait csökkenő
sorrendben szeretnénk rendezni, akkor az Indexek ablak Rendezési sorrend oszlopában
válasszuk a Csökkenő lehetőséget.
Kulcsok megadása
A relációs adatbázis-kezelő rendszerek (amilyen a Microsoft Access is) hatékonysága abban
áll, hogy képesek a különböző táblákban tárolt információk gyors megkeresésére és
összegyűjtésére lekérdezések, űrlapok és jelentések segítségével. Ehhez minden táblának
rendelkeznie kell egy (vagy több) mezővel, amely egyedileg azonosítja a táblában tárolt
rekordokat. Ezt az adatot nevezzük a tábla elsődleges kulcsának. Amikor egy tábla számára
megadjuk az elsődleges kulcsot, az egyediség biztosításához a Microsoft Access
megakadályozza, hogy az elsődleges kulcs mezőjébe kettős vagy Null érték kerüljön.
Informatikai alapismeretek modul Adatbázis-kezelés
64
A Microsoft Accessben három típusú elsődleges kulcs adható meg: Számláló, egyetlen mező
és több mező.
A Számláló mezőt be lehet állítani úgy, hogy az egy sorszámot írjon be, valahányszor egy
rekordot adunk hozzá a táblához. Az elsődleges kulcs létrehozásának legegyszerűbb módja az,
ha egy ilyen mezőt adunk meg elsődleges kulcsként. Ha egy újonnan létrehozott tábla
mentése előtt nem állítunk be egy elsődleges kulcsot, akkor a Microsoft Access megkérdezi,
hogy kívánunk-e elsődleges kulcsot létrehozni. Ha igennel válaszolunk, akkor a Microsoft
Access egy Számláló elsődleges kulcsot hoz létre. Egyéb szempontokat is figyelembe kell
venni, ha a táblát adatbázis-többszörözéssel kívánjuk használni.
Ha van olyan mező, amely egyedi értékeket, például azonosítószámot tartalmaz, akkor ezt a
mezőt is kijelölhetjük elsődleges kulcsként. Ha az elsődleges kulcsként kijelölt mező kettős
vagy Null értékeket tartalmaz, akkor a Microsoft Access nem állítja be az elsődleges kulcsot.
A kettős adatokat tartalmazó rekordok kereséséhez lefuttathatjuk az Azonosakat kereső
lekérdezést. Ha az adatok szerkesztésével nem lehet kiküszöbölni a kettős bejegyzéseket,
akkor adjunk hozzá egy Számláló mezőt, és ezt állítsuk be elsődleges kulcsként, vagy
definiáljunk egy több mezőből álló elsődleges kulcsot.
Olyan helyzetekben, amikor egyetlen mező egyediségét sem lehet biztosítani, elsődleges
kulcsként két vagy több mezőt is meg lehet adni. A leggyakrabban ez a helyzet olyan táblában
fordul elő, amelyet egy sok-sok kapcsolatban egy táblát két másik táblával hozunk
kapcsolatba. A Northwind mintaadatbázisban lévő Rendelés részletei például ilyen tábla,
amely kapcsolatban áll a Rendelések és a Termékek táblával is. A Rendelés részletei tábla
elsődleges kulcsa két mezőből áll: a Rendeléskód és a Termékkód mezőből. A Rendelés
részletei tábla sok terméket és megrendelést sorol fel, de az egyes termékek rendelésenként
csak egyszer szerepelhetnek, így a Rendeléskód és a Termékkód mező együtt megfelelő
elsődleges kulcsot alkot.
Kulcsok megadásához jelöljük ki azt a mezőt vagy mezőket, amelyeket elsődleges kulcsként
szeretnénk definiálni. Ha egyetlen mezőt szeretnénk kijelölni, akkor kattintsunk a kívánt
mező sorkijelölőjére. Ha több mezőt szeretnénk kijelölni, akkor tartsuk lenyomva a CTRL
billentyűt, és így kattintsunk az egyes mezők sorkijelölőjére. Ha kijelöléssel megvagyunk,
kattintsunk a szalagmenü Elsődleges kulcs gombjára.
Kulcs eltávolításához kattintsunk a kulcsmező(k)re, majd kapcsoljuk ki az Elsődleges kulcs
gombot.
Nézzünk egy példát! Jelöljük ki a DolgozóKód mezőt, majd kapcsoljuk ki az Elsődleges kulcs
gombot! Mint látható, jelenleg nincs elsődleges kulcs a táblában. Most jelöljük ki a
Keresztnév és a Vezetéknév mezőket, majd kapcsoljuk be az Elsődleges Kulcs gombot!
Mindkét mező előtt megjelent a kis kulcs ikon, jelezve a komplex kulcs jelenlétét a táblában!
Informatikai alapismeretek modul Adatbázis-kezelés
65
Állítsuk vissza az eredeti helyzetet (a DolgozóKód legyen az elsődleges kulcs)!
Munka Adatlap nézetben
Mentsük az eddigi változtatásainkat, majd menjünk át Adatlap nézetbe a szalagmenü
Nézetváltó ikonjával!
Adatok felvitele, módosítása
A tábla Adatlap nézetében a táblában tárolt adatok láthatóak.
Vigyünk fel két rekordot, oly módon, hogy a táblázat megfelelő mezőibe kattintunk! Egy
mező kitöltése után a TAB billentyű megnyomásával mehetünk a kivetkező mezőbe.
- AlkalmazottKód: 1
- Keresztnév: Jakab
- Vezetéknév: Gipsz
- Lakcím: Budapest, 1099 Kő u. 3.
- Telefonszám: (01) 123-4567
- Születési idő: 1975.06.15
- Fizetés: 100 000,00 Ft
- AlkalmazottKód: 2
- Keresztnév: Béla
- Vezetéknév: Tégla
Informatikai alapismeretek modul Adatbázis-kezelés
66
- Lakcím: Budapest, 1088 Kő u. 4.
- Telefonszám: (01) 234-5678
- Születési idő: 1975.07.01
- Fizetés: 125 000,00 Ft
Mint látható az elsődleges kulcs mezőt nem kellett kitöltenünk, azt a Microsoft Access
automatikusan feltölti, növekvő értékekkel. Most próbáljuk ki az előbb beállított érvényességi
szabályunkat. Állítsuk át Tégla Béla fizetését -125 000 Ft-ra!
Ha mindent jól állítottunk be, a fenti ablak jelenik meg, és a rendszer addig nem enged
tovább, amíg a szabálynak megfelelő értéket nem viszünk a mezőbe. Állítsuk vissza Tégla
Béla fizetését 125 000,00 Ft-ra!
Töröljünk le néhány számot Gipsz Jakab telefonszámából! A megjelenő ablak
figyelmeztet minket arra, hogy a mezőhöz beviteli maszk van beállítva és a beadott érték
ehhez nem megfelelő. Állítsuk vissza az eredeti állapotot, mentsük a bevitt adatokat, majd
zárjuk be a táblát!
Rekordok törlése, rendezése, szűrése
Törlés Rendezés Szűrés
Rekordok törléséhez álljunk a sorkijelölőre és jelöljük ki a törölni kívánt rekordot. A kijelölés
után a DEL billentyű használatával vagy a Kezdőlap szalagmenü Törlés ikonjával a rekord
eltávolítható. Természetesen nem tudunk olyan rekordokat törölni, amelyek eltávolítása
megsértené a hivatkozási-integritási szabályokat.
Informatikai alapismeretek modul Adatbázis-kezelés
67
Rekordok rendezéséhez válasszuk ki azt a mezőt, amely szerint rendezni szeretnénk, majd
kattintsunk a szalagmenü növekvő vagy csökkenő rendezés gombjára.
A szűrés lehetőséget nyújt arra, hogy a rekordoknak csak egy bizonyos feltételeknek
megfelelő csoportját jelenítsük meg az Adatlap nézetben, vagy az űrlapon. Kijelölés alapján
úgy lehet szűrni, ha az adatlapon vagy az űrlapon kijelölünk egy mezőt vagy mezőrészletet,
majd kiválasztjuk a Szűrés a kijelölés alapján menüparancsot. Ezek után már csak azok a
mezők látszanak majd a tábla Adatlap nézetében, melyek megegyeznek a kijelölt értékkel.
Kapcsolatok
A Microsoft Accessben kapcsolatokat definiálhatunk a táblák között annak érdekében, hogy a
program bizonyos részei (pl. varázslók) felismerjék azokat ill., hogy a hivatkozási integritási
szabályok megsértését megakadályoztassuk az adatbázis-kezelővel. Kapcsolatok
definiálásakor először zárjuk be az esetleg megnyitott táblákat. Megnyitott táblák között nem
lehet kapcsolatot létrehozni és módosítani.
Kattintsunk az Adatbáziseszközök szalagmenü Kapcsolatok gombjára. Ha az adatbázis nem
tartalmaz semmiféle definiált kapcsolatot, akkor a Tábla hozzáadása ablak automatikusan
megjelenik. Ha olyan táblákat kell hozzáadni, amelyekkel kapcsolatot szeretnénk létesíteni, és
a Tábla hozzáadása párbeszédpanel nem jelenik meg, akkor kattintsunk a szalagmenü Tábla
megjelenítése gombjára. Ha azok a táblák, amelyekkel kapcsolatot szeretnénk létesíteni, már
láthatók, akkor hagyjuk ki ezt a lépést.
Kattintsunk duplán azoknak a tábláknak a nevére, amelyekkel kapcsolatot szeretnénk
létesíteni, majd zárjuk be a Tábla megjelenítése párbeszédpanelt. Húzzuk a kapcsolatba kívánt
hozni mezőt az egyik táblából a másik tábla kapcsolatba kívánt hozni mezőjéhez. Ha több
mezőt szeretnénk áthúzni, nyomjuk meg a CTRL billentyűt, és így húzzuk át az egyes
mezőket.
A legtöbb esetben az egyik táblából húzzuk át az elsődleges kulcs mezőt a másik táblába, egy
hasonló, idegen kulcs mezőbe. A kapcsolódó mezőknek nem kell ugyanazt a nevet viselniük,
Informatikai alapismeretek modul Adatbázis-kezelés
68
de - két kivétellel - azonos adattípusúnak kell lenniük, és ugyanolyan típusú információt kell
tartalmazniuk. Ezen túlmenően, amikor az egyező mezők Szám típusú mezők, akkor a két
mező Mezőméret tulajdonságának azonosnak kell lennie. Az adattípusok egyeztetésének két
kivétele az, amikor egy Számláló mezőt egyeztetünk Hosszú egész értékre beállított
Mezőméret tulajdonságú Szám mezővel, illetve amikor egy Számláló mezőt egyeztetünk
Szám mezővel, ha mindkét mező Mezőméret tulajdonságának beállítása Többszörözési ID.
Megjelenik a Kapcsolatok párbeszédpanel. Ellenőrizzük a két oszlopban a megjelenített
mezőneveket, hogy azok megfelelőek-e. Ezeket szükség esetén módosítani is lehet.
Szükség esetén beállíthatjuk az illesztési beállításokat is. Ezt a Kapcsolatok párbeszédpanel
Illesztés típusa gombjára való kattintással tehetjük meg. Ekkor a következő párbeszédpanelt
kapjuk:
Az 1. lehetőség szoros illesztést definiál. Ez az alapértelmezés. A szoros illesztés olyan
illesztés, amelynél két tábla összeillesztett rekordjaiból eredményhalmaz jön létre. Az
illesztett rekordok csak akkor kerülnek be az eredményhalmazba, ha az illesztett mezők
értékei bizonyos feltételnek tesznek eleget. Az alapértelmezett illesztés táblák között
Lekérdezéstervező nézetben olyan szoros illesztés, amely csak akkor választja ki a táblák
rekordjait, ha az illesztett mezők azonosak.
A 2. lehetőség bal laza illesztést definiál. A bal oldali laza illesztés olyan laza illesztés,
amelyben SQL lekérdezések LEFT JOIN műveletének bal oldalán levő tábla minden rekordja
hozzáadódik a lekérdezés eredményéhez, még akkor is, ha a jobb oldali táblából nincs a
kapcsolódó mezőt tekintve azonos rekord. A jobb oldali táblából csak akkor kerülnek
Informatikai alapismeretek modul Adatbázis-kezelés
69
rekordok az eredményhalmazba, ha a bal oldali tábla illesztett mezőjében van megegyező
érték. A bal oldali laza illesztést balról jobbra mutató illesztő nyíl jelöli.
A 3. lehetőség jobb laza illesztést definiál. Jobb oldali laza illesztéskor az SQL lekérdezések
RIGHT JOIN műveletének jobb oldalán levő tábla minden rekordja hozzáadódik az
eredményhalmazhoz, még akkor is, ha a bal oldali táblából nincs a kapcsolódó mezőt tekintve
azonos rekord. A bal oldali táblából csak akkor kerülnek a rekordok az eredményhalmazba, ha
a jobb oldali tábla kapcsoló mezőjében van megegyező érték. A jobb oldali laza illesztést
jobbról balra mutató illesztési nyíl jelöli.
Ezek után beállíthatjuk a kapcsolat egyéb tulajdonságait, mint pl. a hivatkozási integritás
megőrzése vagy a kaszkádolás, majd a Létrehozás gombra kattintva a kapcsolat létrejön.
Ha egy tábla és önmaga között szeretnénk kapcsolatot létrehozni, akkor adjuk hozzá az adott
táblát kétszer. Ez olyan helyzetekben hasznos, amikor ugyanazon a táblán belül szeretnénk
keresést végrehajtani. A Northwind mintaadatbázis Alkalmazottak táblájában például
kapcsolat van az Alkalmazottkód és a Felettes mező között, így a Felettes mező alkalmazotti
adatokat tud megjeleníteni egy egyező Alkalmazottkód mezőből.
Hivatkozási integritás
A hivatkozási integritás olyan szabályok rendszere, amelyet a Microsoft Access a kapcsolódó
táblákban lévő rekordok közötti kapcsolatok érvényességének biztosítására használ, és hogy a
kapcsolódó adatokat ne lehessen véletlenül törölni vagy módosítani. Hivatkozási integritást
akkor lehet beállítani, ha a következő feltételek mindegyike teljesül:
- Az elsődleges tábla megfelelő mezője egy elsődleges kulcs, vagy egyedi indexszel
rendelkezik.
- A kapcsolódó mezőknek ugyanaz az adattípusuk. Két kivétel van. A Számláló mezőt
kapcsolatba lehet hozni egy Hosszú egész beállítású Mezőméret tulajdonsággal rendelkező
Szám mezővel, és a Többszörözési ID beállítású Mezőméret tulajdonsággal rendelkező
Számláló mezőt kapcsolatba lehet hozni egy Többszörözési ID beállítású Mezőméret
tulajdonsággal rendelkező Számláló mezővel.
- Mindkét táblának ugyanahhoz a Microsoft Access adatbázishoz kell tartoznia. A csatolt
tábláknak Microsoft Access formátumban kell lenniük, és a hivatkozási integritás
beállításához az adatbázist úgy kell megnyitni, ahogy azok tárolódnak. A hivatkozási
integritás nem kötelező a más formátumban lévő adatbázisokból származó csatolt táblák
esetén.
Ha a hivatkozási integritás kötelező, a következő szabályokat kell szem előtt tartani:
- A kapcsolódó tábla idegen kulcsába nem lehet olyan értéket beírni, amely az elsődleges
tábla elsődleges kulcsában nem található meg. Az idegen kulcsba azonban beírható Null
érték, ami azt adja meg, hogy a rekordok nincsenek kapcsolatban. Nem lehet például olyan
megrendelés, amely nem létező vevőhöz van hozzárendelve, de lehet olyan megrendelés,
amely a Vevőkód mezőben egy Null érték beírásával senkihez nincs hozzárendelve.
- Nem lehet az elsődleges táblából olyan rekordot törölni, amelyhez egy kapcsolódó
táblában rekordok tartoznak. Nem lehet például az Alkalmazottak táblában egy
alkalmazotti azonosítót törölni, ha a Rendelések táblában az illető alkalmazotthoz
rendelések tartoznak.
- Nem lehet az elsődleges táblában elsődleges kulcs értéket módosítani, ha az adott
rekordhoz kapcsolódó rekordok tartoznak. Nem lehet például az Alkalmazottak táblában
Informatikai alapismeretek modul Adatbázis-kezelés
70
egy alkalmazotti azonosítót módosítani, ha az illető alkalmazotthoz a Rendelések táblában
rendelések vannak hozzárendelve.
Ha azt szeretnénk, hogy a Microsoft Access érvényre juttassa ezeket a szabályokat egy
kapcsolat esetén, akkor jelöljük ki a Hivatkozási integritás megőrzése négyzetet a kapcsolat
létrehozásakor. Ha a hivatkozási integritás megőrződik, és a kapcsolódó táblák esetén a
szabályok egyikét megsértjük, akkor a Microsoft Access egy üzenetet jelenít meg, és nem
engedélyezi a módosítást. Felülbírálhatjuk a kapcsolódó rekordok törlésével és módosításával
kapcsolatos korlátozásokat, és a hivatkozási integritást továbbra is megőrizhetjük a Kapcsolt
mezők kaszkádolt frissítése és a Kapcsolt rekordok kaszkádolt törlése négyzetek beállításával.
Amikor a Kapcsolt mezők kaszkádolt frissítése négyzet be van jelölve, az elsődleges táblában
lévő elsődleges kulcs érték automatikusan frissíti az összes kapcsolódó rekordban a megfelelő
értékeket. Amikor a Kapcsolt rekordok kaszkádolt törlése négyzet van bejelölve, az
elsődleges táblában egy rekord törlése a kapcsolódó táblában a kapcsolódó rekordok törlését
eredményezi.
Kaszkádolás
Az olyan kapcsolatok esetén, amelyekben a hivatkozási integritás érvényre jut, megadhatjuk,
hogy a Microsoft Access automatikusan kaszkádolja a frissítést és kaszkádolja a törlést a
rekordokkal kapcsolatban. Ha beállítjuk ezeket a lehetőségeket, akkor a törlési és frissítési
műveletek, amelyeket normál esetben a hivatkozási integritási szabályok megakadályoznak,
mégis végrehajtódnak. Amikor rekordokat törlünk vagy egy elsődleges kulcs értékét
módosítjuk egy elsődleges táblában, a Microsoft Access a hivatkozási integritás
megőrzéséhez elvégzi a kapcsolódó táblák szükséges módosítását.
Ha a Kapcsolt mezők kaszkádolt frissítése négyzetet bejelöljük egy kapcsolat definiálásakor,
akkor az elsődleges táblában egy rekord elsődleges kulcsának módosításakor a Microsoft
Access automatikusan frissíti az elsődleges kulcsot az új értékre az összes kapcsolódó
táblában is. Ha például módosítjuk a Vevők táblában egy vevő azonosítóját, akkor a
Rendelések tábla Vevőkód mezője automatikusan frissítődik, hogy a kapcsolat ne szakadjon
meg. A Microsoft Access üzenet megjelenítése nélkül végzi el a kaszkádolt frissítést.
Ha az elődleges táblában az elsődleges kulcs egy Számláló mező, akkor a Kapcsolt mezők
kaszkádolt frissítése négyzet bejelölésének nincs hatása, mert a Számláló mezőben nem lehet
értéket módosítani.
Ha egy kapcsolat definiálásakor a Kapcsolt rekordok kaszkádolt törlése négyzetet bejelöljük,
akkor az elsődleges táblában a rekordok törlésekor a Microsoft Access automatikusan törli a
kapcsolódó rekordokat a kapcsolódó táblákban. Ha például törlünk egy vevőt a Vevők
táblából, akkor a vevő minden rendelése is automatikusan törlődik a Rendelések táblából (ez
magában foglalja a Rendelések rekordokhoz kapcsolódó Rendelés részletei táblában lévő
rekordokat is). Amikor rekordokat törlünk egy űrlapról vagy adatlapról, ha a Kapcsolt
rekordok kaszkádolt törlése négyzet be van jelölve, a Microsoft Access figyelmeztetést küld,
hogy a kapcsolódó rekordok is törlődnek. Ha azonban törlő lekérdezés segítségével törlünk
rekordokat, akkor a Microsoft Access figyelmeztetés nélkül automatikusan törli a rekordokat
a kapcsolódó táblákban.
Kapcsoljuk össze az Alkalmazottak tábla AlkalmazottKód-ját, a Dolgozók tábla
AlkalmazottKódjával! Kapcsoljuk be a Hivatkozásintegritás megőrzése lehetőséget, a
Kaszkádolásokat viszont nem. Ha jól csináltuk, akkor az alábbi képet kapjuk:
Informatikai alapismeretek modul Adatbázis-kezelés
71
Kapcsolatot törölni úgy lehet, hogy a kapcsolat vonalán jobbegér gombot kattintunk, majd a
Törlés lehetőséget választjuk.
Kapcsoljuk újra össze a két táblát az előbb említett módon, majd zárjuk be a kapcsolatok
ablakot. Mentsük a változtatásokat, majd zárjuk be az adatbázist.
Informatikai alapismeretek modul Adatbázis-kezelés
72
KÉREM OLDJA MEG A KÖVETKEZŐ FELADAT(OKA)T!
1. Hozzon létre egy táblát Tanulók néven, Tervező nézetben, a következő beállításokkal:
Mezőnév Mezőtípus Mezőtulajdonság
Tanulo_az Számláló
AlkalmazottKód Szám Hosszú egész, Kötelező: igen
Tanulo_nev Szöveg(30) Kötelező: igen,
Indexelt, lehet azonos
Tanulo_cím Szöveg(50) Kötelező:igen
Tanulo_tel Szöveg(15) Kötelező:igen,
Null érték engedélyezése: igen
Tanulo_tdij Pénznem Kötelező:igen,
Érvényességi szabály: nem kisebb mint nulla,
Érvényesítési szöveg: "Ilyen kicsi tandíj nem
létezik!"
2. Kapcsolja a táblát a Northwind Alkalmazottak táblához!
3. Töltse fel 5 rekorddal!
4. Miután tanára ellenőrizte, törölje a táblát!
Informatikai alapismeretek modul Adatbázis-kezelés
73
6. fejezet
Lekérdezések I.
A lekérdezések segítségével több módon lehet megtekinteni, megváltoztatni és elemezni az
adatokat, továbbá szolgálhatnak űrlapok és jelentések alapjául is. A leggyakrabban használt
lekérdezés típusa a választó lekérdezés. A választó lekérdezés néhány táblából olvassa ki az
adatokat bizonyos feltételek alapján, majd a kívánt sorrendben megjeleníti azokat. A
lekérdezés tulajdonképp egy kérdés, melyet az adatbázis adataival kapcsolatban teszünk fel. A
lekérdezés által kiválasztott rekordok összessége az eredményhalmaz. A lekérdezés valójában
egy olyan SQL utasítás, melyet képesek vagyunk a grafikus felületen megadott paraméterek
alapján a Microsoft Access-el automatikusan elkészíttetni.
Lekérdezések szerepe
- Adatok visszakeresése
- Több összekapcsolt tábla adatainak megtekintése, különböző sorrendben és
csoportosításban
- Számított mezők megjelenítése
- Adatok megváltoztatása, törlés, módosítása, másolat készítése
- Jelentésen és űrlapon szereplő adatok körének meghatározása
Lekérdezések fajtái
- Rekordhalmazt eredményező: virtuális táblaként szolgálhatnak más objektumoknak
(lekérdezések, űrlapok, jelentések). A keletkezett eredmény azért virtuális, mivel a
táblákban rögzített adatokra nem hat ki a lekérdezés eredménye, a keletkezett tábla nem
valós.
- Választó lekérdezés: a lekérdezés alkalmas kívánt mezők ill. rekordok
kiválasztására a kimenetre. Továbbá alkalmas sorrend (alsorrend-fősorrend)
meghatározására, adatok összeválogatására több táblából, számított oszlopok
(mezők) kialakítására, csoportok képzésére ill. sorforrás létrehozására űrlapok ill.
jelentések számára.
- Kereszttáblás lekérdezés: ha nem egy hanem két adat szerint kell csoportosítást
végezni, akkor a kereszttáblás lekérdezés alkalmas az adatok áttekinthetőbb
formában történő megjelenítésére.
- Akció lekérdezések: az akció lekérdezések, mint a nevük is mutatja, valamilyen műveletet
hajtanak végre az adatbázis adatain, futtatásukkal a táblákban lévő adatok változnak.
- Táblakészítő: egy vagy több tábla adataiból új táblát hoz létre.
- Frissítő: globálisan változtatja meg rekordok egy csoportját egy vagy több
táblában.
- Hozzáfűző: táblák rekordcsoportjait adja más táblák végéhez.
- Törlő: rekordcsoportokat töröl egy vagy több táblából, megadott feltétel szerint.
Informatikai alapismeretek modul Adatbázis-kezelés
74
Rekordhalmazt eredményező lekérdezések
Választó lekérdezés
A választó lekérdezés a leggyakrabban előforduló lekérdezés-típus. Egy vagy több táblából
hív le adatokat, és az eredményt egy adatlapon jeleníti meg, ahol a rekordokat frissíteni lehet
(bizonyos keretek között). A választó lekérdezés ezen kívül használható rekordok
csoportosítására, valamint összegek, átlagok és más jellemzők kiszámítására.
Nézzünk egy példát választó lekérdezésre. A Northwind adatbázis Navigációs ablakában
válasszuk a Lekérdezéseket, majd a Tíz legdrágább termék nevű lekérdezést. Kattintsunk rá
duplát, vagy jelöljük ki és kérjünk megnyitást!
Egy Adatlap nézetű ablakot kapunk, mely nagyon hasonlít a táblák Adatlap nézetére. Egy
fontos különbség azonban mégis van: a lekérdezések által megjelent adatok nem tárolódnak el
az adatbázisban, hanem a lekérdezés lefuttatása során állítja őket elő a Microsoft Access. Az
ilyen adathalmazokat virtuális táblának hívjuk.
Vizsgáljuk meg a lekérdezések nézeteit:
Informatikai alapismeretek modul Adatbázis-kezelés
75
Mint látható a lekérdezéseknek több nézetük van. Ezek közül a számunkra fontosabbak:
- Adatlap nézet: a lekérdezés által szolgáltatott adatok megjelenítésére használatos.
- Tervező nézet: a lekérdezés megjelenítendő adatainak és/vagy feltételeinek
megváltoztatására szolgál.
- SQL nézet: a lekérdezés valódi tartalmát, a Microsoft Access által generált SQL utasítást
mutatja meg.
Váltsunk Tervező nézetre! Az elénk táruló kép a következő:
Ez az ún. Lekérdezéstervező ablak. Az ablak felső része a Táblamező, ahol a lekérdezésben
szereplő táblákat és a közöttük lévő kapcsolatokat látjuk ill. vihetjük fel. Az ablak alsó fele az
ún. QBE (Query By Example - lekérdezési feltétel) rács, ahol a mezők szűrését és
megjelenítését szabályozó feltételeket adhatjuk meg. A QBE rácson oszlopokat felvenni,
törölni, mozgatni a már ismert módokon lehet.
A QBE rács mezői:
- Mező: a kimenetre kerülő vagy a feltételben résztvevő megadása
- Tábla: az oszlopban szereplő mező táblájának kijelölése
- Összesítés: csoportosító függvények megadására használt
- Rendezés: rendezési feltételek érvényesítése
- Megjelenítés: be ill. kikapcsolhatjuk, hogy az adott mező megjelenjen-e a
kimeneten.
- Feltétel: szűrőfeltételek megadása
A példának választott lekérdezés egyetlen táblán a Terméken alapul. Feladata, hogy
megjelenítse a legdrágább termékeket (szám szerint 10-et). Ennek a feladatnak oly módon
tesz eleget, hogy megjeleníti a Termékek tábla Terméknév és egységár mezőjét, az egységár
szerint csökkenő sorrendben. A rekordkijelzés korlátozva van 10 rekordra, amit az
szalagmenün látható Visszatérés mezőben lehet megadni. Visszatérésnek megadhatunk
konkrét rekordszámot, de megadhatunk százalékos értéket is.
Informatikai alapismeretek modul Adatbázis-kezelés
76
Válasszuk ugyanennek a lekérdezésnek az SQL nézetét!
Itt tekinthetjük meg azt az SQL utasítást, amit a Microsoft Access a Lekérdezéstervezőbe
bevitt adatok alapján generált. Ezt az SQL utasítást fogja kiértékelni a beépített Jet
adatbázismotor, és a kiértékelés alapján válogatja össze a kimenetre kerülő (megjelenítendő)
adatokat. A csúcsérték-beállítás a TOP 10, a rendezést az ORDER BY záradék (az SQL
terminológiában klauza) jelzi (a DESC jelzi a csökkenő rendezést, a növekvő rendezés
kulcsszava az ASC, de ez elhagyható).
Lekérdezések tulajdonságai
Kattintsuk a lekérdezés tervező nézetében a Táblamező egy üres területén jobbegér gombot,
majd válasszuk a Tulajdonságok lehetőséget! Minden egyes lekérdezésnek tulajdonság-
beállításai vannak, amelyek módosításával megváltoztathatjuk a lekérdezés viselkedését és a
lekérdezés eredményeinek megjelenítését.
A fontosabb tulajdonságok:
- Leírás: A Leírás tulajdonság segítségével lekérdezésmezőkkel kapcsolatos információt
adhatunk meg.
- Összes mező a kimenetre: Az Összes mező a kimenetre tulajdonság segítségével
megjeleníthetjük egy lekérdezés alap-adatforrásában, illetve egy űrlap vagy jelentés
mezőlistájában található összes mezőt. A tulajdonság beállításával elkerülhetjük, hogy a
Informatikai alapismeretek modul Adatbázis-kezelés
77
lekérdezésben található összes mező esetében a lekérdezés-tervezőrácsban lévő
Megjelenítés mezőre kelljen kattintanunk.
- Csúcsérték: A Csúcsérték tulajdonság segítségével meghatározott számú rekordot
kaphatunk vissza, vagy kiválaszthatjuk az általunk meghatározott feltételnek megfelelő
rekordokat. Például elképzelhető, hogy a mezőben lévő értékek közül a 10 legnagyobbat,
vagy az első 25 százalékot akarjuk kiválasztani. Megegyezik az eszköztárról elérhető
lehetőséggel, ill. az Access SQL TOP alutasításával.
- Egyedi értékek: Az Egyedi értékek tulajdonság segítségével elhagyhatjuk az azonos
adatokat tartalmazó rekordokat az Adatlap nézetben megjelenített mezőkben. Ha például
egy lekérdezés eredménye egynél több mezőt tartalmaz, akkor a mezők értékei
kombinációjának minden rekord esetében egyedinek kell lennie, hogy az szerepeljen az
eredményben. Megegyezik az Access SQL DISTINCT alutasításával.
- Egyedi rekordok: Az Egyedi rekordok tulajdonság segítségével meghatározhatjuk, hogy ne
csak magában a lekérdezésben szereplő mezőkből kerüljenek visszaadásra az egyedi
rekordok, hanem az alap-adatforrás összes mezőjéből. Megegyezik az Access SQL
DISTINCTROW alutasításával.
- Forrás adatbázis: A Forrás-adatbázis tulajdonság azt a külső adatbázist határozza meg,
amely a lekérdezés forrástábláit vagy -lekérdezéseit tartalmazza.
- Forrás kapcsolat-karakterlánc: A Forrás kapcsolat-karakterlánc tulajdonság a külső
adatbázis létrehozásához felhasznált alkalmazás nevét határozza meg.
- Rekordzárolás: A Rekordzárolás tulajdonság azt szabja meg, hogyan zárolja a program a
rekordokat, és hogy mi történjen, amikor ugyanazt a rekordot egyszerre két felhasználó
szeretné módosítani. Rekord módosításakor a Microsoft Access automatikusan zárolni
tudja a rekordot. Így megakadályozza, hogy más felhasználó is módosítsa azt, mielőtt az
egyik befejezné a munkát.
- Rekordhalmaz típusa: A Rekordhalmaz típusa tulajdonsággal megadható, hogy milyen
típusú rekordhalmaz érhető el egy űrlapon. A Rekordhalmaz típusa tulajdonság
Pillanatfelvétel értékre állításával például megakadályozható kötött vezérlőelembeli adat
módosítása, amikor az űrlap Űrlap nézetben vagy Adatlap nézetben van.
- ODBC időtúllépés: Az ODBC időtúllépés tulajdonság segítségével meghatározhatjuk,
hogy a Microsoft Access hány másodperc elteltével jelezzen időtúllépési hibát abban az
esetben, ha egy ODBC (Open Database Connectivity – Nyílt adatbázis-kapcsolat)
adatbázison futtatunk lekérdezést, ld. később.
- Szűrő: A Szűrő tulajdonság segítségével adhatjuk meg a rekordok megjelenítendő
részhalmazát, amikor szűrőt alkalmazunk űrlapra, lekérdezésre vagy táblára.
- Rendezés: A Rendezés tulajdonsággal adhatjuk meg, hogyan szeretnénk rendezni űrlap,
lekérdezés, jelentés vagy tábla rekordjait. Megegyezik az Access SQL ORDER BY
alutasításával.
Választó lekérdezések létrehozása
A Microsoft Access gyakran saját maga is képes lekérdezést létrehozni, így nem kell a
semmiből kezdeni a tervezést.
- Ha egy űrlap vagy jelentés alapjául kívánjuk használni a lekérdezést, akkor az űrlap vagy
Jelentés varázslóval hozhatjuk létre. Ezek a varázslók létrehozzák az űrlapot vagy a
jelentést, és ha az több táblára épül, létrehozzák az alá tartozó SQL utasítást is. Az SQL
utasítást lekérdezésként is lehet menteni.
- A lekérdezés varázslókkal könnyen létrehozhatók egymástól függetlenül futó vagy több
űrlapon, illetve jelentésen alapuló lekérdezések. Néhány kérdés megválaszolása után a
Informatikai alapismeretek modul Adatbázis-kezelés
78
varázslók maguktól elvégzik a munkát. Egy lekérdezés gyors megtervezésénél még a
gyakorlott felhasználóknak is érdemes a varázslókat használniuk. Ezután átválthatunk
Tervező nézetre, ahol a lekérdezés tovább alakítható.
- Ha a lekérdezés létrehozásánál fel szeretnénk használni a Szűrés űrlappal, a Szűrés a
kijelölés alapján vagy a Szűrés bevitellel segítségével készített szűrőket, mentsük őket
lekérdezésként.
Ha a felsorolt módszerek egyike sem megfelelő, saját kezűleg is készíthető lekérdezés
Tervező nézetben.
Egytáblás választó lekérdezés létrehozása varázslóval
Az Egyszerű választó lekérdezés Varázsló olyan lekérdezéseket hoz létre, amelyek a táblák
vagy lekérdezések megadott mezőinek adatait lehívják. Ezen kívül a varázslóval
összeadhatók, megszámolhatók vagy akár átlagolhatók is a rekordok vagy ezek egy
csoportjának értékei, valamint kiszámolható egy mező minimális és maximális értéke. A
feltételek beállításával azonban a lekérdezett rekordok száma nem határozható meg.
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezés varázsló" lehetőséget!
A varázsló indulása után az első ablakban meg kell adnunk, hogy milyen típusú lekérdezés
varázslót szeretnénk futtatni. Válasszuk az egyszerű lekérdezés varázslót, majd kattintsunk az
OK gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
79
Ezek után a következő ablakban megadhatjuk, hogy mely táblákból, milyen mezőket akarunk
szerepeltetni a lekérdezésben.
Válasszuk ki a Táblák/Lekérdezések lenyíló listából a Termékek táblát. Az Elérhető mezők
listában a Termékek tábla mezőit fogjuk látni. Válasszuk ki a Terméknevet és az Egységárat.
Vigyük át őket a Kijelölt mezők listába (">"). Ha készen vagyunk, kattintsunk a Tovább
gombra.
A következő ablakban adhatjuk meg, hogy akarunk-e összesítést. Csak numerikus, pénznem
ill. dátum mezőket lehet összesíteni. Mi most a Részletes lehetőséget választjuk, ami az
összes rekord általunk kiválasztott valamennyi mezőjét megjeleníti. Kattintsunk a Tovább
gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
80
Az utolsó ablakban adhatjuk meg a lekérdezésünk nevét (Termékek Lekérdezés), valamint
azt, hogy a lekérdezés elkészítése után hogyan akarjuk folytatni a munkát. Itt kérjük a
"Lekérdezésterv módosítása" opciót, minek hatására a varázsló munkájának végeztével a
lekérdezés tervező nézetében ellenőrizhetjük az eredményt.
Többtáblás választó lekérdezés létrehozása varázslóval
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezés varázsló" lehetőséget! Válasszuk az
egyszerű lekérdezés varázslót, majd kattintsunk az OK gombra.
Nyissuk le a Táblák/Lekérdezések listát és válasszuk ki a Szállítók táblát! Adjuk a Cégnevet a
Kijelölt mezőkhöz. Nyissuk le újra a Táblák/Lekérdezések listát. Most válasszuk a Termékek
táblát és jelöljük ki a Terméknév és az Egységár mezőket. Kattintsunk a Tovább gombra!
A következő ablakban válasszuk az Összesítést, majd kattintsunk az Összesítési beállítások
gombra! Itt kérjünk az Egységárra Átlagszámítást (AVG) a Termékekre pedig
rekordszámlálást
Ha mindent beállítottunk az OK gombbal zárjuk be az ablakot. Visszakerülünk a Lekérdezés
varázsló előző ablakához, itt nyomjuk meg a Tovább gombot! A lekérdezésnek adjuk a
Szállítók termékei nevet, és válasszuk az adatok megtekintésének lehetőségét.
Informatikai alapismeretek modul Adatbázis-kezelés
81
Mint látható ez kissé bonyolultabb adat visszakeresést tesz lehetővé, mint az egytáblás
lekérdezés. A lekérdezés amit most látunk, megmutatja nekünk, hogy a különböző szállítók,
mennyi terméket szállítanak be (Count: Termékek), a beszállított termékek átlagára mennyi
(Avg: Egységár) ill. hogy a szállított termékek közül a listán melyik az első ábécésorrend
szerint (First: Terméknév). Tanulmányozzuk át a Tervező nézetben megjelenő lekérdezés
szerkezetet.
A Microsoft Access automatikusan felismerte a beállított kapcsolatokat a táblák között. A
lekérdezés futtatásakor így figyelembe veszi a kapcsolatokat, ezáltal helyes eredményeket
szolgáltat. Zárjuk be a lekérdezést!
Egytáblás lekérdezés létrehozása Tervező nézetben
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla megjelenítése párbeszédpanelen kattintsunk arra a fülre, amely felsorolja az általunk
használni kívánt adatokat tartalmazó objektumokat, jelen esetben a táblákat. Kattintsunk
duplán a Termékek táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki a Terméknév és az Egységár mezőket úgy, hogy kettőt kattintunk rájuk. Ha a
csillagot választjuk hasonló módon, akkor a Microsoft Access egy oszlopban helyezi el a
tábla- vagy lekérdezésnevet, és a névhez egy pontot, valamint egy csillagot csatol (például:
Kategóriák.*). A műveletek után az adatlap maga ugyanúgy néz ki, mint ha az összes mezőt
egyenként felvettük volna.
Informatikai alapismeretek modul Adatbázis-kezelés
82
Lekérdezésbe csak olyan mezőket érdemes felvenni, melynek adatait meg szeretnénk
tekinteni, az alapján feltételeket szeretnénk beállítani, illetve csoportosítani, frissíteni vagy
rendezni kívánjuk a rekordokat. Irányított szűrőbe csak olyan mezőket érdemes felvenni,
amelyeket rendezéshez vagy feltételek megadásához kívánunk használni, és így a Microsoft
Access majd automatikusan megjeleníti a szűrt eredményben az összes mezőt. Feltételek és
rendezési sorrend megadásával, számított mezők létrehozásával, valamint a lekért adatok
összegének, átlagának, illetve más jellemzőinek kiszámításával finomíthatjuk a lekérdezést.
Mi most állítsuk be a Egységár mezőre a Rendezést, mely legyen növekvő, majd a Visszatérés
mezőben adjuk meg a 15-ös számot.
A lekérdezés mentéséhez kattintsunk az eszköztár Mentés gombjára. Adjunk meg a nevet,
amely legyen "A 15 legolcsóbb termék", majd kattintsunk az OK gombra.
A lekérdezés eredményeit úgy tekinthetjük meg, ha a szalagmenü Nézet gombjára kattintunk.
Ha ellenőriztük, hogy a helyes eredményt kaptuk-e, térjünk vissza Tervező nézetbe és
kapcsoljuk ki az Egységár mező Megjelenítés beállítását.
Vegyük észre, hogy bár most már nem jelenik meg a kimeneten, a felvett mező továbbra is
részt vesz a kimeneti adatok szűrésében és rendezésében. Vizsgáljuk meg Adatlap nézetben a
kijelzett adatokat, majd zárjuk be a lekérdezést!
Többtáblás lekérdezés létrehozása Tervező nézetben
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
Informatikai alapismeretek modul Adatbázis-kezelés
83
A Tábla megjelenítése párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán a
Termékek táblára, a Szállítók táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki a Szállítókból a Cégnév, a Termékekből a Terméknév és az Egységár mezőket.
Adjuk a mezőket a lekérdezéshez – most húzzuk a mezőlistából a mezők nevét a
tervezőrácsra.
Menjünk át Adatlap nézetbe és ellenőrizzük az eredményt. 78 rekord látszik, hiszen ennyi
Termék található az adatbázisban. Amely szállító több terméket szállít az a lekérdezés
kimentében is többször szerepel.
Váltsunk vissza Tervező nézetbe és töröljük a táblák közötti kapcsolatot oly módon, hogy
kijelöljük, majd jobb egérgombbal kattintunk a kapcsolatra, és itt a törlést választjuk.
Menjünk át Adatlap nézetbe és ellenőrizzük az eredményt. A rekordok száma most 2340. Ez
78(a termékek száma)*30(a szállítók száma). Látható tehát, hogy ha nem megfelelőek, vagy
hiányoznak a kapcsolatok a lekérdezésben szereplő táblák között, úgy nem helyes
eredmények születnek, mivel ilyenkor a Microsoft Access nem leválogatja, hanem
összeszorozza a rekordokat (minden rekordhoz, minden más, a (nem) kapcsolódó táblában
szereplő rekordot hozzárendel).
Állítsuk vissza a két tábla közötti kapcsolatot oly módon, hogy a Szállítók tábla Szállítókód
mezőjét kijelölve, azt ráhúzzuk a Termékek tábla Szállítókód mezőjére.
Menjünk át Adatlap nézetbe és ellenőrizzük az eredményt. Újra 78 rekord látszik. Zárjuk be a
Tervezőablakot mentés nélkül!
Lekérdezések feltételei
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán a
Termékek táblára, a Szállítók táblára, majd kattintsunk a Bezárás gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
84
Válasszuk ki a Szállítókból a Cégnév, a Termékekből a Terméknév és az Egységár mezőket.
Adjuk a mezőket a lekérdezéshez – kattintsunk kettőt a mezők nevén. Kérjünk mentést, és
adjuk neki a "Termékek feltétel szerint" nevet.
Menjünk át Adatlap nézetbe és nézzük meg, hogy hány rekordot jelez ki a lekérdezés (78).
Váltsunk Tervező nézetre! Írjuk be az Egységár feltétel mezőjébe:
Between 1000 and 2000
Most már csak azon termékeket listázza ki, melyek egységára 1000 és 2000 Ft között van.
Ellenőrizzük újra a kijelzett rekordok számát (22). A Tervező nézetben írjuk be a Terméknév
feltétel mezőjébe:
Like S*
A további feltételmegadás szerint már csak az "S" betűvel kezdődő olyan termékeket kell
listázni, melyek egységára 1000 és 2000 Ft között van. Ellenőrizzük újra a kijelzett rekordok
számát (5). A Tervező nézetben írjuk be a Cégnév feltétel mezőjébe:
In("Leka Trading";"Lyngbysild")
Ezek szerint már csak azon rekordok kerülnek kijelzésre, ahol a Cégnév Leka Trading vagy
Lyngbysild, S betűvel kezdődnek és egységáruk 1000 és 2000 Ft között van. Ennek a
feltételnek már csak 2 rekord felel meg.
Kérjünk mentést, majd tekintsük meg a létrehozott lekérdezésünk SQL nézetét!
Menjünk vissza Tervező nézetbe és töröljük a Cégnévre vonatkozó feltételt! A rekordok
száma most megint 5. Kivágás-beillesztés használatával mozgassuk át a Terméknév "Like S*"
Informatikai alapismeretek modul Adatbázis-kezelés
85
feltételét az eggyel alatta lévő cellába! Menjünk át Adatlap nézetbe és nézzük meg, hogy hány
rekordot jelez ki a lekérdezés (26).
Mi történt? Ha megvizsgáljuk a lekérdezésünk SQL nézetét, jól látszik, hogy a feltételeket
összekapcsoló AND (ÉS) logikai operátor OR (VAGY)-ra cserélődött. Ha ugyanis a QBE
rácson a feltételeket egy sorba írjuk az ÉS logikai kapcsolatot, míg ha külön sorba az VAGY
logikai kapcsolatot generál.
Mint láttuk, amikor lekérdezést készítünk a lekérdezés Tervező nézetében, a háttérben a
Microsoft Access lefordítja azt a megfelelő SQL utasításokra. Az SQL utasítás SQL nézetben
megtekinthető és szerkeszthető. A lekérdezés SQL nézetben való módosítása után
elképzelhető, hogy azt nem lehet többé úgy megjeleníteni, ahogyan előzőleg a lekérdezés
Tervező nézetben szerepelt.
Az SQL utasításoknak saját szintaxisuk van, saját operátorokat használnak. Ezen operátorok
legtöbbje jól ismert
- Aritmetikai: +;-,*;/,
- Logikai: AND;OR;NOT,
- Relációs: < ;>;<=;>=;=;<>,
de vannak speciális csak az SQL-ben használható operátorok és függvények. Ezek közül a
leggyakrabban használtakat láttuk most itt. Mentsük és zárjuk be a lekérdezésünket!
SQL operátorok
- Between: Megállapítja, hogy egy érték vagy kifejezés a megadott értékhatárok közé esik-e.
A helyettesítő karakterek, mint például a * nem használhatók a Between...And műveletben.
Visszatérési értéke igaz vagy hamis attól függően, hogy a vizsgált érték benne van-e a
tartományban vagy sem.
- Like: ezzel a művelettel kereshetjük meg egy mező azon értékeit, amelyek illeszkednek az
általunk megadott mintához. A minta lehet teljes egészében megadott érték (például: Like
"Kovács"), vagy használhatunk a mintában helyettesítő karaktereket, hogyha több értéket
keressünk (például: Like "Ko*"). Visszatérési értéke igaz vagy hamis attól függően, hogy a
vizsgált érték illeszkedik-e a megadott mintára vagy sem.
- In: Eldönti, hogy egy kifejezés értéke egyenlő-e a megadott listában szereplő értékek
bármelyikével. Visszatérési értéke igaz vagy hamis attól függően, hogy a vizsgált érték
megtalálható-e a listában vagy sem.
Informatikai alapismeretek modul Adatbázis-kezelés
86
7. fejezet
Lekérdezések II.
Csoportosítás lekérdezésekben
Válasszuk a Northwind Navigációs ablakában a Lekérdezéseket, majd válasszuk ki a
Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán a
Termékek táblára, a Szállítók táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki a Szállítókból a Cégnév, a Termékekből a Terméknév és az Egységár mezőket.
Adjuk a mezőket a lekérdezéshez – húzzuk a mezőlistából a mezők nevét a tervezőrácsra.
Kattintsunk az eszköztáron az Összesítés gombra! A QBE rácson egy új Összesítés feliratú
sor jelenik meg, melybe alapértelmezetten a Group By kifejezés van írva.
Ellenőrizzük az Adatlap nézetben, hogy történt-e valami lényeges változás a kijelzésben. A
Rekordok száma nem, de rendezettsége megváltozott, igaz ez lényegesen nem befolyásolja az
adatok felhasználását.
Kattintsunk a Terméknév Összesítés sorába! Egy lenyíló listát kapunk melyből válasszuk a
Count (megszámlálás) lehetőséget! Ezután válasszuk az Egységár Összesítés sorát. Itt Avg-t
(average - átlag) állítsunk be! Menjünk adatlap nézetbe!
Informatikai alapismeretek modul Adatbázis-kezelés
87
Megváltozott-e a kimeneti adathalmaz? Igen, hiszen csoportosítottuk a Cégnév szerint a
rekordokat, megszámoltattuk a Microsoft Access-el, hogy hány terméknév tartozik egy
Szállító rekordhoz, ill. a Termék táblában kapcsolódó rekordok Egységár mezőinek mi az
átlaga.
Mire jó a csoportosítás? A megadott mezőben az azonos értékű rekordokat egy rekorddá
alakítja át. Összesítő érték hozható létre minden rekordról, ha SQL összesítő függvényt, mint
például a Sum vagy a Count függvényt, írunk be a SELECT utasításba. Vizsgáljuk meg a
lekérdezésünk SQL nézetét!
Mint látható a Microsoft Access által felkínált összesítés megegyezik az SQL GROUP BY
záradékával.
Állítsunk be feltételt a Terméknév mezőre! Mivel most nem szöveget jelez ki, hanem számot
(a COUNT összesítő függvény miatt), így a feltételnek is számértékre vonatkozónak kell
lennie pl.: ">3". Ezzel a feltétellel, azt határozzuk meg, hogy csak azon rekordok kerüljenek a
kimenetre, ahol a megszámolt terméknevek értéke nagyobb, mint három. Hétköznapi nyelven:
azokat a cégeket fogjuk látni, amelyek 4 vagy annál több terméket szállítanak be.
Csak 4 ilyen cég található. Vizsgáljuk meg ezen lekérdezés SQL utasítását is és hasonlítsuk
össze az előzővel!
Figyeljük meg, hogy csoportosítás után már nem WHERE-el adjuk meg a feltételeket, hanem
a HAVING kulcsszóval. E záradékban megadhatjuk, hogy a SELECT utasítás GROUP BY
záradékával csoportosított rekordok közül melyek legyenek megjelenítve. Miután a GROUP
Informatikai alapismeretek modul Adatbázis-kezelés
88
BY kifejezéssel csoportosítottuk a rekordokat, a HAVING záradékban megadott feltételeknek
megfelelő összes rekord megjelenik a képernyőn.
Mentsük a lekérdezést "Termékek csoportosítva" néven, majd zárjuk be azt!
Számított mezők lekérdezésekben
Lekérdezésben megadható olyan mező, amely nem tárolt adatot jelenít meg, hanem egy
kifejezés eredményét. Az érték követi a kifejezés értékeinek változását. Hozzunk létre olyan
lekérdezést mely számított mezőt tartalmaz!
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblákat tartalmazó fülre. Kattintsunk
duplán a Termékek táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki a Terméknév, az Egységár és a Raktáron mezőket. Adjuk a mezőket a
lekérdezéshez – kattintsunk kettőt a mezők nevén.
Mentsük a lekérdezést "Termékek értéke" néven!
Most kattintsunk a QBE rácson a negyedik oszlop Mező cellájába! Most azonban az
eddigiektől eltérően nem választunk ki új mezőt, hanem önálló kifejezést illesztünk be. Ehhez
kattintsunk a szalagmenü Szerkesztő gombjára!
A megjelenő ablak a Kifejezésszerkesztő.
Informatikai alapismeretek modul Adatbázis-kezelés
89
A Kifejezés szerkesztő felépítése:
- A szerkesztő felső részében egy kifejezés mező található, ahol a kifejezést megalkothatjuk.
A szerkesztő alsó részében lehet a kifejezés elemeit létrehozni, melyeket azután
beilleszthetünk a kifejezés mezőbe. A kifejezés egyes részeit közvetlenül is beírhatjuk a
kifejezés mezőbe.
- A szerkesztő középső részében a gyakran használt operátorok gombjai találhatók. Ha
valamelyik gombra rákattintunk, a Kifejezés szerkesztő beilleszti a megfelelő operátort a
kifejezés mező illesztési pontjába. A kifejezésekben használható összes operátor listájához
kattintsunk a középső panel bal alsó panelén az Operátorok mappára, majd a kívánt
operátor kategóriára. A jobb oldali panelen megjelenik a kijelölt kategória összes
operátora.
- A szerkesztő alsó részében három panel található:
- A bal oldali panel tartalmazza azokat a mappákat, melyek felsorolják a tábla,
lekérdezés, űrlap és jelentés adatbázis-objektumait, a beépített és a felhasználó által
definiált függvényeket, az állandókat, az operátorokat és a gyakori kifejezéseket.
- A középső panel a bal oldali panelen kijelölt mappa elemeit vagy elemkategóriáit
sorolja fel. Ha a bal oldali panelen például a Beépített függvények lehetőségre
kattintunk, a középső panelen megjelenik a Microsoft Access függvények listája.
- A jobb oldali panelen jelenik meg a bal oldali és a középső panelen kijelölt elemek
értékeinek listája, ha van értékük. Ha például a bal oldali panelen a Beépített
függvények lehetőségre kattintunk, a középső panelen pedig egy
függvénykategóriára, a jobb oldali panelen megjelenik a kijelölt kategóriába tartozó
összes beépített függvény listája.
Ha a Kifejezés szerkesztőben új mezőneveket szeretnénk megtekinteni, először menteni kell
az új mezőket tartalmazó táblát vagy lekérdezést (ezért mentettük a mostani lekérdezést
Kifejezés szerkesztő megnyitása előtt).
Ha egy objektum vagy függvény nincs a Kifejezés szerkesztő alsó részében a listán, akkor az
nem érvényes abban a környezetben, ahol a szerkesztőt elindítottuk. Nem hivatkozhatunk
például a tábla Tervező nézetében egy mező érvényességi szabályának más mezőire és
vezérlőelemeire, így a Táblák, Lekérdezések, Űrlapok és Jelentések mappa nem hozzáférhető,
ha a Kifejezés szerkesztőt tábla Tervező nézetében egy mező Érvényességi szabály
tulajdonságából indítjuk.
Kifejezésmező
Művelet
gombok
Kifejezés
elemek
Informatikai alapismeretek modul Adatbázis-kezelés
90
Egy azonosító beillesztésekor a Kifejezés szerkesztő csak az azonosító azon részeit illeszti a
kifejezésbe, amelyek az adott környezetben szükségesek. Ha például a Kifejezés szerkesztőt a
Vevők űrlap tulajdonságlapjáról indítjuk, és az űrlap Látható tulajdonságának azonosítóját
illesztjük a kifejezésbe, a Kifejezés szerkesztő csak a tulajdonság nevét illeszti be: Visible. Ha
ezt a kifejezést az űrlap környezetén kívül használjuk, a teljes azonosítót meg kell adni:
Forms![Vevők].Visible.
A Kifejezés szerkesztő alsó részén lévő panelek közül a bal oldaliban keressük meg a
Termékek értéke lekérdezésünket. Nem nehéz, hiszen azt az objektumot, ahonnan meghívtuk
a Kifejezés szerkesztőt, legelsőként jelzi ki ebben az oszlopban.
A középső panelen megjelenő mezőnevek közül válasszuk először az Egységárat és
kattintsunk rá duplát (vagy jelöljük ki és kattintsunk a Beillesztés gombra)! A mező neve
megjelenik a kifejezésmezőben. Kattintsunk a műveleti gombok közül a szorzás (*) jelre,
majd a Raktáron mezőt is vegyük fel a kifejezésbe! A kifejezésünk most a következő:
[Egységár] * [Raktáron]
Kattintsunk az OK gombra, melynek hatására a Kifejezés szerkesztő beilleszti az általunk
előállított kifejezést a QBE rácsba! Nézzük meg Adatlap nézetben az eredményt!
Vizsgáljuk meg Tervező nézetben a beillesztett kifejezést! Látható, hogy a Microsoft Access
nevet adott a számított mezőnek Kif1 (kifejezés 1) néven! Változtassuk ezt meg, oly módon,
hogy a kifejezés Mező cellájába kattintunk jobb egérgombbal és a a gyorsmenüből a Nagyítás
lehetőséget kérjük.
Informatikai alapismeretek modul Adatbázis-kezelés
91
Írjuk át a Kif1 nevet "Raktárérték"-re, majd az OK gombbal érvényesítsük a változtatást! Ha
most megvizsgáljuk az Adatlap nézetet, láthatjuk, hogy a mezőfej felvette az általunk
megadott nevet.
A lekérdezésben át lehet nevezni a mezőket, hogy még pontosabban írják le az adatot. Ez
különösen akkor hasznos, amikor új számított mezőt definiálunk vagy létező mező alapján
összeget, darabszámot számolunk ki, illetve más típusú összesítést végzünk. Ilyen esetekben,
hacsak nem írunk be nevet, a Microsoft Access névhozzárendelésként például Kif1 vagy
Sum:Rendelés mennyisége nevet használ. Az új mezőnévnek az objektum-elnevezési
szabályokat be kell tartania.
Ha a lekérdezés tervezőrácsában módosítunk egy mezőnevet, ez magával vonja a lekérdezés
Adatlap nézetében az oszlopfej módosulását. Ezen túlmenően, ha a lekérdezés alapján
létrehozunk egy új objektumot (például új űrlapot vagy jelentést), akkor az új objektum az új
mezőnevet használja. Ha például az átnevezett mező megjelenítéséhez létrehozunk egy
vezérlőelemet, akkor a vezérlőelem neve és címkefelirata az új mezőnevet használja. Nem
módosul azonban a mezőnév az alapul szolgáló táblában, sem pedig azokon az űrlapokon és
azokban a jelentésekben, amelyek a mezőnév módosítása előtt jöttek létre a lekérdezés
alapján.
Mezőneveket oly módon adhatunk meg, hogy az egér mutatóját a tervezőrácsban a mezőnév
első betűjétől balra visszük, és ott bal egérgombbal kattintunk. Beírjuk az új nevet, majd egy
kettőspontot. Ha a Microsoft Access által automatikusan hozzárendelt Kif1 (vagy Expr1 stb.)
mezőnevet lecseréljük, csak a nevet írjuk át, a kettőspontot követő kifejezést ne.
Mentsük a Termékek értéke lekérdezést, majd zárjuk be!
Paraméterezett lekérdezések
A paraméteres lekérdezés előre megadott párbeszédpanelt jelenít meg, amelyen paraméterek
(feltételek) megadását kéri. Egyéni párbeszédpanel is létrehozható a lekérdezés
paramétereinek megadására.
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk arra a fülre, amely felsorolja a táblákat.
Kattintsunk duplán a Termékek táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki a Terméknév és az Egységár mezőket. Adjuk a mezőket a lekérdezéshez –
húzzuk a mezőlistából a mezők nevét a tervezőrácsra.
Informatikai alapismeretek modul Adatbázis-kezelés
92
A Terméknév Feltétel cellájába írjuk be a következő kifejezést:
Like [Adja meg az áru nevét] & "*"
Ez a feltétel egy olyan párbeszédablakot jelenít meg, melyen megadhatjuk a terméknév egy
vagy több kezdőbetűjét, és ez alapján válogatja le a rekordokat.
A párbeszédablakba beírt szöveg helyettesítődik be a két szögletes zárójelben megadott
kérdés helyére a kifejezésben. Itt jelen esetben a LIKE operátor feldolgozza a megadott
szöveget és a hozzáfűzött (&) * jelet.
Ahhoz, hogy paraméteres lekérdezést hozzunk létre a paraméterként használni kívánt minden
egyes mező alatti Feltétel cellába írjunk be a szögletes zárójelbe zárt kérdést. A Microsoft
Access ezt a kérdést írja ki a lekérdezés futtatásakor. A kérdés szövegének különböznie kell a
mező nevétől, de tartalmazhatja azt. Dátumokat megjelenítő mezőknél egy értéktartomány
megadásához például beírhatjuk a következő két szöveget: "Írja be a kezdő dátumot:" és "Írja
be a záró dátumot:". Ehhez a mező Feltétel cellájába írjuk be a következőket: Between [Írja be
a kezdő dátumot:] And [Írja be a záró dátumot:].
Kereszttáblás lekérdezésben, ill. a kereszttáblás lekérdezés vagy a diagram alapjául szolgáló
paraméteres lekérdezésben meg kell adni a paraméterek adattípusát. A kereszttáblás
lekérdezésben az Oszlopfej (ColumnHeadings) tulajdonságot is be kell állítani. Más
paraméteres lekérdezésben az Igen/Nem adattípusú mező és a külső SQL adatbázis táblából
származó mezőnek adjunk meg adattípust.
Mentsük a lekérdezésünket "Termékek paraméter szerint" néven, majd zárjuk be azt!
Kereszttáblás lekérdezés
A kereszttáblás lekérdezés egy tábla egyik mezőjének összegzett értékeit (összegét, számát,
átlagát) jeleníti meg, és csoportosítja ezeket egyszer az adatlap bal oldalán felsorolt elemek,
egyszer pedig az adatlap tetején felsorolt elemek alapján. A kereszttáblás lekérdezések
segítségével két fajta információ alapján (az egyik az adatlap bal szélén található, a másik az
adatlap tetején) lehet kiszámítani a csoportosított adatok összegét, átlagát, számát és egyéb
összesítését. A kereszttáblás lekérdezést vagy varázsló segítségével, vagy a tervező ráccsal
lehet létrehozni. A tervezőrácsban kell megadni, hogy mely mezők értékei lesznek
oszlopfejek, melyek sorfejek, és melyek fogják az összesítéseket (összeg, átlag, számosság
stb.) tartalmazni.
Létrehozás varázslóval
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezés varázsló" lehetőséget! Válasszuk a
kereszttáblás lekérdezés varázslót, majd kattintsunk az OK gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
93
A megjelenő párbeszédpanelen választhatjuk ki a kereszttáblás lekérdezés forrását. Sajnos
amennyiben több táblából akarunk adatokat leválogattatni, úgy előbb egy választó lekérdezést
kell létrehozni, mely tartalmazza a megjeleníteni kívánt mezőket, és csak utána kérhetjük a
kereszttábla létrehozását.
Válasszuk ki a lekérdezések lehetőséget, majd a megjelenő lekérdezések közül az általunk
elkészített Szállítók Termékei lehetőséget!
A következő három párbeszédpanelen tudjuk kiválasztani a megfelelő mezőket, amelyeket
sor, oszlopfejlécként ill. a sorok és oszlopok metszetében lévő cellákban értékként kívánunk
használni. Sorfejlécként a Cégnevet, oszlopfejlécként a First:Terméknevet, értékként az
Avg:Egységárat jelöljük meg. Az értékmegjelölésnél a függvények közül az Avg-t jelöljük
meg, de ne kérjük a sorok összesítését.
A következő párbeszédpanelen a lekérdezés nevét adhatjuk meg, mely legyen "Szállítók
Termékei_kereszttábla1", és "A kérdezés megtekintése" lehetőséget válasszuk!
Informatikai alapismeretek modul Adatbázis-kezelés
94
Íme az eredmény!
Létrehozás választó lekérdezésből
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán a
Termékek táblára, a Szállítók táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki a Szállítókból a Cégnév, a Termékekből a Terméknév és az Egységár mezőket.
Adjuk a mezőket a lekérdezéshez – húzzuk a mezőlistából a mezők nevét a tervezőrácsra.
A szalagmenün válaszuk ki a Lekérdezés típusa panelen a "Kereszttáblás" lehetőséget!
A QBE rácson megjelenik az Összesítés és egy új, még nem látott sor: a Kereszttábla.
Informatikai alapismeretek modul Adatbázis-kezelés
95
Állítsuk be az opciókat a fenti ábrának megfelelően! Mint látható a Microsoft Access
csoportosítást végez a sor és az oszlopfejléc alapján, az értékre pedig kötelezően valamilyen
feldolgozási (számlálási, statisztikai, összesítési) művelet állítandó be.
Ellenőrizzük a lekérdezést adatlap nézetben, majd zárjuk be mentés nélkül!
Akció lekérdezések
Az akció lekérdezés olyan lekérdezés, amely több rekordot változtat meg egyetlen művelet
során. Az akciólekérdezésnek négy típusa van: törlő, frissítő, hozzáfűző és táblakészítő.
Táblakészítő
Egy vagy több tábla adataiból új táblát hoz létre. A táblakészítő lekérdezések a következő
esetekben is segítségre lehetnek:
- Ha létrehozunk egy táblát, amelyet azután más Microsoft Access adatbázisokba szeretnénk
exportálni. Ez lehet egy olyan tábla, amely az Alkalmazottak tábla számos mezőjét
tartalmazza, és amelyet a személyzeti osztály adatbázisába szeretnénk exportálni.
- Ha olyan jelentést szeretnénk létrehozni, amely egy adott időpont óta beérkezett adatokat
jelzi ki. Tegyük fel, hogy 1996. május 15-én olyan jelentést szeretnénk kinyomtatni, amely
az első negyedév eladásait jeleníti meg az 1996. április 1.-i, reggel 9 órai alaptábla adatai
alapján. Egy SQL utasításon alapuló lekérdezés a legfrissebb adatokat keresi ki a táblából
(az 1996. május 15-i adatokat), nem pedig az adott időpont és dátum rekordjait. Ha meg
akarjuk őrizni az adatokat ugyanabban az állapotban, ahogy 1996. április 1-én 9 órakor
voltak, hozzunk létre az adott időpontban egy táblakészítő lekérdezést, amellyel a kívánt
rekordokat lehívhatjuk, majd egy új táblában elraktározhatjuk. Ezután ezt az új táblát
használhatjuk a jelentés alapjául a lekérdezés helyett.
- Ha egy tábláról biztonsági másolatot szeretnénk készíteni.
- Ha egy régi rekordokat tartalmazó táblát szeretnénk létrehozni. Ide tehetjük például a régi
megrendeléseket, mielőtt töröljük az aktuális Megrendelések tábláról.
- Ha növelni szeretnénk a több táblás lekérdezéseken vagy SQL utasításokon alapuló
űrlapok és jelentések teljesítményét. Tegyük fel, hogy több olyan jelentést szeretnénk
kinyomtatni, amely öt táblás, összegeket is tartalmazó lekérdezésen alapul.
Felgyorsíthatjuk a folyamatot, ha először létrehozunk egy táblakészítő lekérdezést, amely
lehívja a kívánt rekordokat, és egy táblában elraktározza őket. Ezután kijelölhetjük ezt a
táblát a jelentés alapjául, vagy megadhatjuk egy SQL utasítással, mint a rekordforrást az
űrlap vagy jelentés számára, így nem kell minden jelentésnél újra lefuttatni a lekérdezést.
A táblakészítő lekérdezés futtatása alatt azonban a tábla adatai nem módosíthatók.
Törlő
Egy rekordcsoportot töröl egy vagy több tábláról. Törölhetjük például a törlő lekérdezéssel
azokat a termékeket, amelyek gyártása befejeződött, vagy amelyek iránt nincs kereslet. A
törlő lekérdezéssel csak teljes rekordokat lehet törölni, a rekordok egyes mezőit nem.
Hozzáfűző
Táblák rekordcsoportjait adja más táblák végéhez. Tegyük fel, hogy van egy adatbázis, amely
új vevők adatait tartalmazza. Ahelyett, hogy ezeket az adatokat mind begépelnénk,
egyszerűen hozzáfűzhetjük őket a Vevők táblához.
Informatikai alapismeretek modul Adatbázis-kezelés
96
A hozzáfűző lekérdezések a következő esetekben is segítségre lehetnek:
- Ha adott feltételnek eleget tevő mezőket szeretnénk hozzáfűzni, például kifizetetlen
rendelésekkel rendelkező vevők címét és nevét.
- Ha rekordokat szeretnénk hozzáfűzni, de az egyik tábla nem rendelkezik a másik tábla
összes mezőjével. A Northwind mintaadatbázisban például a Vevők táblában 11 mező van.
Tegyük fel, hogy olyan táblából szeretnénk rekordokat hozzáfűzni, amelynek 9 mezője
megtalálható a Vevők táblán is. A hozzáfűző lekérdezés az egyező mezőkhöz hozzáfűzi az
adatokat, a többi mezőt pedig figyelmen kívül hagyja.
Frissítő
Globálisan változtatja meg rekordok egy csoportját egy vagy több táblán. Emelhetjük például
a tejtermékek árát 10%-kal, vagy emelhetjük az azonos munkakörben dolgozók fizetését. A
frissítő lekérdezéssel már meglévő táblák adatait lehet megváltoztatni.
Akció lekérdezések létrehozása
Az akció lekérdezéseket csak Tervező nézetben tudjuk létrehozni, oly módon, hogy
létrehozunk egy választó lekérdezést, mely azokat a rekordokat válogatja le, amelyeken a
módosító műveletet el akarjuk végezni, majd a lekérdezés típusát a kívánt akciótípusra állítjuk
át.
Táblakészítő lekérdezés létrehozása
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán az
Alkalmazottak táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki az Alkalmazottakból az AlkalmazottKód, a Vezetéknév, a Beosztás és a Belépés
dátuma mezőket. Adjuk a mezőket a lekérdezéshez – húzzuk a mezőlistából a mezők nevét a
tervezőrácsra.
A Belépés dátuma Feltétel mezőjébe adjuk meg a következő feltételt:
>#1992. 12. 31.#
A feltétel ebben az esetben azt jelenti, hogy csak azokat a rekordokat válogassa le, melyeknél
a belépés dátuma 1993-as vagy későbbi. Figyeljük meg, hogy az Access SQL kifejezésekben
a dátumértéket # jelek közé kell tenni.
A lekérdezés Tervező nézetében kattintsunk a szalagmenün a Lekérdezés típusa panelen a
Táblakészítő lehetőségre.
Informatikai alapismeretek modul Adatbázis-kezelés
97
Megjelenik a Táblakészítő párbeszédpanel.
A Táblanév mezőben adjuk meg a létrehozni vagy cserélni kívánt tábla nevét, jelen esetben
azt, hogy "Dolgozók". Kattintsunk az Aktuális adatbázis lehetőségre, ha az új táblát a nyitott
adatbázisba szeretnénk tenni (mint most). Ha nem, kattintsunk a Másik adatbázis lehetőségre,
és adjuk meg az adatbázis nevét, amelyben az új táblát el szeretnénk helyezni. Szükség esetén
adjuk meg az elérési utat is.
Kattintsunk az OK gombra.
Ha a tábla létrehozása előtt meg szeretnénk tekinteni, hogyan fog kinézni, kattintsunk a Nézet
gombjára. Ha vissza akarunk térni Tervező nézetbe és meg szeretnénk változtatni a
lekérdezést, illetve ha futtatni szeretnénk a lekérdezést, kattintsunk a Nézet gombra. Mielőtt
futtatjuk, mentsük a lekérdezést "Új dolgozók" néven!
Az új lekérdezés futtatásához kattintsunk a szalagmenü Futtatás ( ) gombjára.
Az indítás után egy figyelmeztetést kapunk, mely jelzi, hogy a lekérdezés módosítani fogja az
adatbázis adatait.
A Microsoft Access jelzi, hogy mennyi rekord felelt meg a feltételeinknek. Ezeket a
rekordokat illeszti a létrehozandó új táblába. Kattintsunk az Igen gombra, majd ellenőrizzük a
táblák között, hogy létrejött-e az új tábla és az adatai megfelelnek-e a feltételeknek. Ha igen,
mentsük a lekérdezést és zárjuk be!
Az indítás után a CTRL+BREAK billentyűkombináció megnyomásával lehet megállítani a
lekérdezést. Az új tábla nem veszi át az eredeti táblából sem a mezőtulajdonságokat, sem az
elsődleges kulcs beállítást.
Törlő lekérdezés létrehozása
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
Informatikai alapismeretek modul Adatbázis-kezelés
98
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán az
Alkalmazottak táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki az Alkalmazottakból az AlkalmazottKód, a Vezetéknév, a Beosztás és a Belépés
dátuma mezőket. Adjuk a mezőket a lekérdezéshez – húzzuk a mezőlistából a mezők nevét a
tervezőrácsra.
A Belépés dátuma Feltétel mezőjébe adjuk meg a következő feltételt:
>#1992. 12. 31.#
A feltétel ebben az esetben azt jelenti, hogy csak azokat a rekordokat válogassa le, melyeknél
a belépés dátuma 1993-as vagy későbbi.
A lekérdezés Tervező nézetében kattintsunk a szalagmenün a Lekérdezés típusa panelen a
Törlő lekérdezés lehetőségre. Mielőtt futtatjuk, mentsük a lekérdezést "Alkalmazottak törlése"
néven!
Az új lekérdezés futtatásához kattintsunk a szalagmenü Futtatás ( ) gombjára.
Megkapjuk a figyelmeztetést, kattintsunk az Igen gombra.
A Microsoft Access jelzi, hogy mennyi rekord felelt meg a feltételeinknek. Ezeket a
rekordokat törli a táblából.
A hibaüzenet jelzi, hogy a Microsoft Access nem volt képes törölni a rekordokat. Mi lehet
ennek az oka? Mivel az Alkalmazottak tábla egy-sok kapcsolatban van a Rendelések táblával,
így a hivatkozási-integritási szabályok szerint, nem törölhetőek az elsődleges kulcsokat
tartalmazó mezők, amíg a kapcsolt táblában (Rendelések) vannak olyan mezők, melyek
ezeket a kulcsértékeket idegen kulcsként tartalmazzák.
Ha a kaszkádolt törlés engedélyezve van, a törlő lekérdezéssel rekordokat lehet törölni egy
táblából, illetve egy-az-egyhez kapcsolat és egy-sok kapcsolat esetén több táblából is (például
az összes perui vevőt az összes hozzájuk tartozó megrendeléssel együtt). Ha azonban egy
feltétel hozzáadása érdekében a "több" oldali táblát is bele kell foglalni a lekérdezésbe az
Informatikai alapismeretek modul Adatbázis-kezelés
99
"egy" oldali tábla mellett, a lekérdezést kétszer kell futtatni, mivel a lekérdezés nem tudja az
elsődleges tábla és a kapcsolódó táblák rekordjait egyszerre törölni.
Készítsünk új törlő lekérdezést! Az Új lekérdezés párbeszédpanelen kattintsunk a Tervező
nézet lehetőségre, majd az OK gombra.
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán a
Dolgozók táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki az összes mezőt. Egyenként adjuk a mezőket a lekérdezéshez – húzzuk a
mezőlistából a mezők nevét a tervezőrácsra.
A Belépés dátuma Feltétel mezőjébe adjuk meg a következő feltételt:
<#1993. 12. 31.#
A lekérdezés Tervező nézetében kattintsunk a szalagmenün a Lekérdezés típusa panelen a
Törlő lekérdezés lehetőségre. Mielőtt futtatjuk, mentsük a lekérdezést "Dolgozók törlése"
néven!
Az új lekérdezés futtatásához kattintsunk a szalagmenü Futtatás ( ) gombjára.
A sikeres futtatás után ellenőrizzük az eredményt a Dolgozók táblában, majd ha az
eredmények megfelelnek a várakozásnak, mentsük a lekérdezést és zárjuk be!
Hozzáfűző lekérdezés létrehozása
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán az
Alkalmazottak táblára, majd kattintsunk a Bezárás gombra.
Válasszuk ki az Alkalmazottakból az AlkalmazottKód, a Vezetéknév, a Beosztás és a Belépés
dátuma mezőket. Adjuk a mezőket a lekérdezéshez – húzzuk a mezőlistából a mezők nevét a
tervezőrácsra.
A Belépés dátuma Feltétel mezőjébe adjuk meg a következő feltételt:
Between #1992. 12. 31.# And #1993.12.31#
A feltétel ebben az esetben azt jelenti, hogy csak azokat a rekordokat válogassa le, melyeknél
a belépés dátuma 1992-es vagy 1993-as. Az akciólekérdezés visszahelyezi a Dolgozók
táblába az előbbi törlő lekérdezéssel eltávolított rekordokat!
A lekérdezés Tervező nézetében kattintsunk a szalagmenün a Lekérdezés típusa panelen a
Hozzáfűző lekérdezés lehetőségre.
Megjelenik a Hozzáfűzés párbeszédpanel.
Informatikai alapismeretek modul Adatbázis-kezelés
100
A táblanév lenyíló listában válasszuk ki azt a táblát, melyhez a rekordokat hozzá akarjuk
fűzni, most pl. a Dolgozók táblát. Mivel ez a tábla az aktuális adatbázisban van, így az
alapértelmezett kijelölést nem kell megváltoztatnunk. Az Ok gombra való kattintással
érvényesítsük a választásunkat!
Amint az a Tervező nézetben látható, megjelent egy újabb sor a QBE rácson, melynek neve
Hozzáfűzés és a tábla valamint a beszúrandó rekordok mezőinek egyeztetésére szolgál. Ha a
kijelölt mezők neve megegyezik a táblában, a Microsoft Access automatikusan kitölti a
kapcsolódó neveket a Hozzáfűzés sorban. Ha a két táblában nem egyeznek meg a mezőnevek,
a Hozzáfűzés sorban annak a táblának a mezőneveit kell megadni, amelyikhez hozzá
szeretnénk fűzni.
Mielőtt futtatjuk, mentsük a lekérdezést "Dolgozók hozzáfűzése" néven!
Az új lekérdezés futtatásához kattintsunk a szalagmenü Futtatás ( ) gombjára. A
figyelmeztetés és a rekordjelentés ablakok után a Microsoft Access hozzáfűzi a Dolgozók
táblához a kijelölt rekordokat. Ellenőrizzük az eredményt, majd mentsük és zárjuk be a
lekérdezést!
Frissítő lekérdezés létrehozása
Válasszuk ki a Létrehozás szalagmenüben a "Lekérdezéstervező" lehetőséget!
A Tábla hozzáadása párbeszédpanelen kattintsunk a táblák fülre. Kattintsunk duplán a
Termékek táblára, majd kattintsunk a Bezárás gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
101
Válasszuk ki a Termékekből a Terméknév és az Egységár mezőket. Adjuk a mezőket a
lekérdezéshez – húzzuk a mezőlistából a mezők nevét a tervezőrácsra.
A Terméknév Feltétel mezőjébe adjuk meg a következő feltételt:
Like "C*"
A lekérdezés Tervező nézetében kattintsunk a szalagmenün a Lekérdezés típusa panelen a
Frissítő lekérdezés lehetőségre.
Amint az a Tervező nézetben látható, megjelent egy újabb sor a QBE rácson, melynek neve
Módosítás és a módosítandó tábla frissíteni kívánt mezőinek új értékeit magában foglaló
kifejezéseket tartalmazza.
Mi most az Egységár Módosítás mezőjébe írjuk be a következő kifejezést:
[Egységár]*1,1
A kifejezés minden leválogatott rekordban (ahol a Terméknév C betűvel kezdődik),
megváltoztatja az egységárat, olyképpen, hogy megnöveli 10%-al.
Mielőtt futtatjuk, mentsük a lekérdezést "Termékek frissítése" néven!
Az új lekérdezés futtatásához kattintsunk a szalagmenü Futtatás ( ) gombjára. A
figyelmeztetés és a rekordjelentés ablakok után a Microsoft Access módosítja a Termékek
táblában a kijelölt rekordokat. Ellenőrizzük az eredményt, majd mentsük és zárjuk be a
lekérdezést!
Informatikai alapismeretek modul Adatbázis-kezelés
102
8. fejezet
Űrlapok I.
Az űrlap olyan adatmegjelenítési és karbantartási segédeszköz, amely segítségével az
adatbázisban lévő adatokat megtekinthetjük, módosíthatjuk, új adatokat vihetünk fel, vagy
akár ki is nyomtathatjuk azokat. Elsődleges szerepe a gyors, kényelmes, esztétikus
adatkarbantartás. Az űrlapokat számos célra fel lehet használni. Az űrlapok adat vagy
rekordforrása (aminek az adatait megjeleníti) tábla vagy lekérdezés lehet. A vezérlőelemnek
nevezett grafikus objektumok segítségével létrehozhatunk csatolást egy űrlap és a
rekordforrás között. A vezérlőelemek leggyakoribb típusa a beviteli mező, amely adatok
bevitelére és megjelenítésére szolgál.
Űrlapok fajtái
- Egyoszlopos: egyszerre egy rekord adatai jeleníthetőek meg, jól alkalmazható adatbeviteli
feladatok megoldására.
- Táblázatos: sorokba és oszlopokba rendezve, táblázatos formában mutatja meg adatainkat.
Minden oszlop egy mezőt, minden sor egy rekordot szimbolizál.
- Adatlapos: elsősorban segédűrlapon használjuk, a táblák megnyitási képére hasonlító
formában láthatjuk a kiválasztott adatokat.
- Fő és segédűrlap: ha az űrlapon szereplő adatok közt egy-sok kapcsolat van, vagyis az
egyik a másiknak „gyűjtőkategóriája”, akkor fő és segédűrlapos rendszert használunk, ahol
is a főűrlap a gyűjtőkategória, a segédűrlapon pedig az adott rekordhoz tartozó adatokat
tekinthetjük meg.
Űrlapok részei
- Űrlapfej: általában az űrlap címét tartalmazza. Nyomtatáskor csak egyszer a legelső
oldalon jelenik meg.
- Oldalfej: kifejezetten nyomtatási képhez definiáljuk. Nyomtatáskor minden oldal tetején
megjelenik.
- Törzs: az űrlap lényegi része, ez tartalmazza a rekordokat.
- Oldalláb: kifejezetten nyomtatási képhez definiáljuk. Nyomtatáskor minden oldal alján
megjelenik.
- Űrlapláb: nyomtatásban az utolsó oldalon megjelenő adatok.
Informatikai alapismeretek modul Adatbázis-kezelés
103
Űrlapok használata
Nézetek
Az űrlapoknak három számunkra fontos nézete van: Űrlap nézet, Tervező nézet és Adatlap
nézet. A nézetek közötti váltáshoz kattintsunk a szalagmenü Nézet gombjára.
Ugyanezeket a lehetőségeket elérhetjük akkor is, ha a jobb oldali gombbal az űrlapra
kattintunk és a felbukkanó gyorsmenüből választunk.
Űrlap nézet
Az Űrlap nézetben megtekinthetjük és szerkeszthetjük a benne található adatokat, illetve új
adatokat adhatunk hozzá. Nyomtathatjuk az adatokat, szűrhetjük és rendezhetjük a
rekordokat, valamint kereshetünk azok között.
A Northwind adatbázis Navigációs ablakában válasszuk az Űrlap lehetőséget, majd nyissuk
meg a Vevők űrlapot Űrlap nézetben!
Az űrlap alján a már ismert rekordléptető gombsort találjuk valamint egy feliratot, mely
megmutatja, hogy összesen hány rekord van az adatforrásban.
Informatikai alapismeretek modul Adatbázis-kezelés
104
Első Előző Rekordmutató Következő Utolsó Új rekord
A rekordléptető gombsor használatával lépkedjünk az űrlap által megjelenített rekordok
között előre és hátra! Keressük meg a 25. rekordot!
Tervező
Kattintsunk a Nézet váltógombon a Tervező nézetre! Az űrlap létrehozására, és
elrendezésének, megjelenésének módosítására a Tervező nézet szolgál, amely gyakorlatilag
úgy működik, mint egy mindenféle hasznos eszközzel felszerelt munkaasztal.
Amint átváltunk Tervező nézetbe megjelenik a szalagmenün, a "Vezérlők" nevet viselő panel,
amely a továbbiakban döntő fontosságú lesz, mivel ezen találhatóak meg azok a grafikus
objektumok, melyek használatával az űrlapon megjeleníthetőek a rekordforrás adatai.
Figyeljük meg, hogy Tervező nézetben nagyon jól látszik a már említett hármas tagolódás:
űrlapfej-láb, oldalfej-láb és törzs. A vezérlőelemek pontos elhelyezését függőleges és
vízszintes vonalzók jelzik, melyen mindig látjuk az éppen szerkesztett objektum helyzetét.
Kattintsunk az Űrlapfejben lévő "Vevők" feliratú címkére!
Informatikai alapismeretek modul Adatbázis-kezelés
105
A címkén megjelennek az ún. mozgatópontok. Ezekkel a mozgatópontokkal tudjuk az
objektumok méretét megnövelni ill. a vezérlőelemeket, áthelyezni. Egy űrlapon belül
egyszerre több vezérlőelemet is kijelölhetünk és mozgathatunk, ha a kijelölés során lenyomva
tartjuk a SHIFT billentyűt.
A címkét űrlapon vagy jelentésben leíró szöveg (például cím, felirat vagy rövid utasítás)
megjelenítéséhez szokás használni. Leggyakrabban azonban a címkéket más
vezérlőelemekhez csatoljuk. Amikor például létrehozunk egy beviteli mezőt, akkor az egy, a
beviteli mező feliratát megjelenítő csatolt címkét használ. Ez a címke oszlopfejként jelenik
meg egy űrlap Adatlap nézetében.
Vigyük az egérkurzort a címkére! A vezérlőelemek (pl. beviteli mezőket) legtöbb esetben a
hozzájuk csatolt címkével együtt mozgatjuk, ill. gyakran előforduló kívánalom, hogy több
vezérlőelemet együtt mozgassunk. Kattintsunk bal egérgombbal a "Vevőkód" címkére, majd
lenyomott bal egérgombbal húzzuk el jobbra!
Természetesen gyakran csak a vezérlőelemet akarjuk áthelyezni, a csatolt címkét nem. Erre a
kijelölésben egy külön mozgatógomb található, a bal felső sarokban. Ha e fölé visszük az
egérkurzort és mozgatjuk, ilyenkor csak azt az egy vezérlőelemet mozgatjuk, amin az
egérkurzor áll. Fogjuk meg a "Vevők" címkét ennél a mozgatópontnál és húzzuk vissza az
eredeti helyére.
Az összetett vezérlőelem részei akkor is csatolásban maradnak egymással, ha az egyes
részeket külön-külön helyezzük át. Ha a csatolt címkét a vezérlőelem nélkül másik szakaszba
szeretnénk áthelyezni, használjuk a Kivágás és a Beillesztés parancsot. Ha a címkét másik
szakaszba helyezzük át, a vezérlőelemhez való csatolása megszűnik.
A vezérlőelem mozgatásának irányát korlátozni lehet, hogy az megtartsa a többi
vezérlőelemhez viszonyított vízszintes vagy függőleges igazítását. Ehhez a kijelölésnél és az
áthelyezésnél tartsuk lenyomva a SHIFT billentyűt. Ekkor a vezérlőelem csak abban az
irányban fog mozogni, amerre először elmozdítjuk, azaz vízszintesen vagy függőlegesen. Ha
egy vezérlőelem helyzetének kismértékű módosítását szeretnénk végrehajtani, az egér helyett
használjuk a CTRL és a megfelelő nyílbillentyűt. Természetesen a kijelölt vezérlőelem
nemcsak mozgatható, hanem törölhető is.
Űrlap és jelentés szakaszainak magasságát egyedileg is lehet csökkenteni és növelni. Egy
űrlapnak vagy jelentésnek azonban csak egyetlen szélessége van. Amikor módosítjuk az egyik
szakasz szélességét, ezzel módosul a teljes űrlap vagy jelentés szélessége is.
A magasság vagy a szélesség módosításához helyezzük a mutatót a szakasz alsó vagy jobb
szélére. A szakasz magasságának módosításához húzzuk a mutatót fel vagy le. A szakasz
szélességének módosításához húzzuk a mutatót balra vagy jobbra.
Informatikai alapismeretek modul Adatbázis-kezelés
106
A magasság és a szélesség egyszerre történő módosításához, helyezzük a mutatót a szakasz
jobb alsó sarkára, majd végezzünk húzást átlósan valamilyen irányban.
Adatlap
Kattintsunk a Nézet váltógombon az Adatlap nézetre! Az adatlap nézet az űrlapok adatainak
sor–oszlop formában megjelenő képét tartalmazó ablak. Adatlap nézetben mezőket
szerkeszthetünk, rekordokat törölhetünk és írhatunk, valamint adatokat kereshetünk benne.
Mint látható, az űrlap adatlap nézete nagyon hasonlít a táblák és a lekérdezéseknél már
megismert megjelenítési formára. Itt valójában a rekordforrás adatait jeleníti meg a Microsoft
Access táblázatos formában. Lehetőségünk van a kijelzés megváltoztatására oly módon, hogy
a Kezdőlap szalagmenü lehetőségeit.
Ha kipróbáltuk a lehetőségeket, térjünk vissza Tervező nézetbe!
Informatikai alapismeretek modul Adatbázis-kezelés
107
Űrlaptulajdonságok
A Microsoft Access a táblák, lekérdezések, mezők, űrlapok és jelentések jellemzőit
tulajdonságok segítségével írja le. Az egyes űrlapokhoz és jelentésekhez tartozó
vezérlőelemekhez is tartoznak tulajdonságok. A vezérlőelemek tulajdonságai meghatározzák
a vezérlőelem felépítését, megjelenését és viselkedését, illetve a benne lévő adat vagy szöveg
jellemzőit. A tulajdonságok értékét a tulajdonságlap segítségével lehet beállítani.
A tulajdonságlapot elérhetjük a Tervezés szalagmenü Eszközök panel, Tulajdonságlap
gombja ( ) segítségével, vagy oly módon, hogy a Tervező nézetben megnyitott űrlap
vonalzóinak találkozásánál található négyzetre (az ún. űrlapkijelölőre) kattintunk a jobb
egérgombbal. Az ekkor előbukkanó helyi menüből megváltoztathatjuk a nézetet, ill.
megjeleníthetjük a tulajdonságlapot is a gyorsmenü Tulajdonságok parancsára való
kattintással. Ugyancsak a tulajdonságlap nyílik meg, ha erre a négyzetre a bal egérgombbal
duplát kattintunk.
Az űrlapok és a vezérlőelemek tulajdonságlapjának öt füle van, bár nem használt mindegyik.
Ezek:
- Formátum: az űrlap kinézetét befolyásoló tulajdonságok beállításai.
- Adat: az űrlap adatmegjelenítését befolyásoló tulajdonságok beállításai.
- Esemény: az űrlap eseményeihez kötött műveletek beállításai.
- Egyéb: minden más az űrlap működését befolyásoló tulajdonság.
- Összes: az összes tulajdonság egy lapon.
Informatikai alapismeretek modul Adatbázis-kezelés
108
Formátumbeállítások (a fontosabbak)
- A Cím (Caption) tulajdonság a címsorban megjelenő szöveget határozza meg Űrlap
nézetben.
- Az Alapértelmezett nézet (DefaultView) tulajdonsággal állítható be, hogy milyen nézetben
nyíljon meg egy űrlap.
- Az Engedélyezett nézetek (ViewsAllowed) tulajdonsággal adható meg, hogy a felhasználó
átkapcsolhat-e Adatlap nézet és Űrlap nézet között úgy, hogy a Nézet menüből kiadja az
Űrlap vagy az Adatlap parancsot, vagy rákattint a Nézet gomb melletti nyílra, majd az Űrlap
nézet vagy az Adatlap nézet elemre kattint.
- A Görgetősáv (ScrollBars) tulajdonság segítségével görgetősávok helyezhetők el űrlapon
vagy beviteli mező vezérlőelemben.
- A Rekordkijelölők (RecordSelectors) tulajdonság segítségével írható elő, hogy egy űrlapon
Űrlap nézetben megjelenjenek-e rekordkijelölők. A rekordkijelölő a nem mentett
rekordjelzőt jeleníti meg egy rekord szerkesztése közben.
- A Léptetőgombok (NavigationButtons) tulajdonság használható annak megadásához, hogy
egy űrlapon megjelenjenek-e léptetőgombok és egy rekordszám mező.
- Az Elválasztóvonal (DividingLines) tulajdonság használatával adhatjuk meg, hogy egy űrlap
szakaszait vagy egy folyamatos űrlapon megjelenített rekordokat választó vonalak
különítsenek-e el.
- Az Automatikus átméretezés (AutoResize) tulajdonság segítségével határozható meg, hogy
egy Űrlap ablak mérete az ablak megnyításakor automatikusan igazodjon-e a
megjelenítendő rekordok méretéhez. Automatikus méretezésnél az ablak akkora lesz, hogy a
megjelenítendő rekordok teljes egészükben elférjenek benne.
- Az Automatikus középre igazítás (AutoCenter) tulajdonságot arra használhatjuk, hogy
megadjuk, egy űrlap automatikusan középre kerüljön-e az alkalmazásablakban, mikor az
űrlapot megnyitjuk.
- A Keret stílusa (BorderStyle) tulajdonság segítségével megadható az űrlaphoz használandó
keretek és keretelemek (a címsor, a Vezérlőmenü, a Kis méret és a Teljes méret gomb vagy
a Bezárás gomb) típusa. Általában különböző keretstílusokat szokás használni a normál
űrlapokhoz, az előugró űrlapokhoz és az egyéni párbeszédpanelekhez.
- A Vezérlőmenü (ControlBox) tulajdonság segítségével lehet meghatározni, hogy egy űrlap
rendelkezik-e Vezérlőmenüvel Űrlap nézetben illetve Adatlap nézetben.
- A Min Max gombok (MinMaxButtons) tulajdonság segítségével lehet meghatározni, hogy a
Teljes méret és a Kis méret gomb látható legyen-e egy űrlapon.
- A Bezárás gomb (CloseButton) tulajdonság segítségével adhatjuk meg, hogy egy űrlapon a
Bezárás gomb engedélyezve legyen-e.
- A Mi ez? gomb (WhatsThisButton) tulajdonság segítségével meghatározható, hogy
felkerüljön-e egy Mi ez? gomb az űrlap címsorára.
- A Kép (Picture) tulajdonság segítségével megadható egy parancsgombon, egy kép
vezérlőelemen, egy váltógombon, karton vezérlőelem egy lapján vagy űrlap vagy jelentés
háttereként megjeleníteni kívánt pontkép vagy más típusú grafika. A gombokon akár felirat,
akár kép megjeleníthető.
- A Képtípus (PictureType) tulajdonság segítségével megállapítható, hogy a Microsoft Access
valamely objektum képét csatolt vagy beágyazott objektumként tárolja.
- A Képméretezési mód (PictureSizeMode) tulajdonsággal szabályozhatjuk egy űrlapon vagy
jelentésben a kép méretezését.
- A Képigazítás (PictureAlignment) tulajdonság szabja meg, hogy hová kerüljön a háttérkép a
kép vezérlőelemben, az űrlapon vagy a jelentésben.
Informatikai alapismeretek modul Adatbázis-kezelés
109
- A Mozaikszerű képelrendezés (PictureTiling) tulajdonsággal azt írhatjuk elő, hogy a
háttérképből készült mozaik kitöltse a teljes kép vezérlőelemet, űrlap ablakot, űrlapot vagy
jelentésoldalt.
- Az X rács (GridX) és az Y rács (GridY) tulajdonsággal állítható be az igazítási rács
vízszintes és függőleges osztása (sűrűsége) űrlap Tervező nézetében és jelentés Tervező
nézetében.
- A Nyomtatási elrendezés (LayoutForPrint) tulajdonság segítségével lehet meghatározni,
hogy az űrlap illetve a jelentés nyomtató vagy képernyő betűtípusokat használjon-e.
- A Palettaforrás (PaletteSource) tulajdonság segítségével lehet palettát választani egy
űrlaphoz vagy egy jelentéshez.
Adatbeállítások
- A Rekordforrás (RecordSource) tulajdonsággal adható meg az űrlap vagy a jelentés
adatforrása. Tábla, lekérdezés és SQL utasítás adatai jeleníthetők meg. Ha például az
Alkalmazottak tábla adatait szeretnénk megjeleníteni és szerkeszteni, az űrlap Rekordforrás
(RecordSource) tulajdonságában az Alkalmazottak értéket adjuk meg. Ezután az űrlapon
vagy jelentésben található vezérlőelemeket a Mező vagy kifejezés (ControlSource)
tulajdonság segítségével köthetjük az Alkalmazottak tábla egyes mezőihez. Az
Alkalmazottak tábla Vezetéknév mezőjéhez például úgy köthetünk vezérlőelemet, ha a
vezérlőelem Mező vagy kifejezés (ControlSource) tulajdonságát a Vezetéknév értékre
állítjuk.
- A Szűrő (Filter) tulajdonság segítségével adhatjuk meg a rekordok megjelenítendő
részhalmazát, amikor szűrőt alkalmazunk űrlapra, lekérdezésre vagy táblára.
- A Rendezés (OrderBy) tulajdonsággal adhatjuk meg, hogy hogyan szeretnénk rendezni az
űrlap, lekérdezés, jelentés vagy tábla rekordjait.
- A Szűrő engedélyezése (AllowFilters) tulajdonság segítségével lehet meghatározni azt, hogy
egy űrlapon lévő rekordokat lehet-e szűrni.
- A Szerkesztés engedélyezése (AllowEdits) tulajdonság használatával azt adhatjuk meg,
hogy a felhasználó egy űrlap használata közben szerkeszthessen-e már mentett rekordokat.
- A Törlés engedélyezése (AllowDeletions) tulajdonság használatával azt adhatjuk meg, hogy
a felhasználó egy űrlap használata közben törölhessen-e rekordot.
- A Bővítés engedélyezése (AllowAdditions) tulajdonságot annak meghatározására
használhatjuk, hogy a felhasználó egy űrlap használatakor hozzáadhat-e egy új rekordot.
- Az Adatbevitel (DataEntry) tulajdonság használatával azt adhatjuk meg, hogy egy kötött
űrlap csak adatbevitelre nyíljon-e meg. Az Adatbevitel (DataEntry) tulajdonság nem
határozza meg, hogy rekordokat az űrlaphoz lehet-e adni, csak azt, hogy a már létező
rekordok megjelenjenek-e.
- A Rekordhalmaz típusa (RecordsetType) tulajdonsággal megadható, hogy milyen típusú
rekordhalmaz érhető el egy űrlapon. A Rekordhalmaz típusa (RecordsetType) tulajdonság
Pillanatfelvétel értékre állításával például megakadályozható kötött vezérlőelembeli adat
módosítása, amikor az űrlap Űrlap nézetben vagy Adatlap nézetben van.
- A Rekordzárolás (RecordLocks) tulajdonság azt szabja meg, hogyan zárolja a program a
rekordokat, és hogy mi történjen, amikor ugyanazt a rekordot egyszerre két felhasználó
szeretné módosítani. Rekord módosításakor a Microsoft Access automatikusan zárolni tudja
a rekordot. Így megakadályozza, hogy más felhasználó is módosítsa azt, mielőtt az egyik
befejezné a munkát.
Eseménybeállítások
Az eseménytulajdonságok révén egy esemény bekövetkezésekor lefut az ahhoz tartozó makró
vagy Visual Basic eseményvezérelt eljárás. Ha például egy parancsgomb Kattintásra
Informatikai alapismeretek modul Adatbázis-kezelés
110
(OnClick) tulajdonságába beírjuk egy makró nevét, ez a makró fut le, amint rákattintunk a
gombra. Az űrlapok eseményei:
- A Jelenlegire (Current) esemény akkor lép fel, amikor a fókusz egy rekordra kerül, ezáltal
az aktuális rekordot aktiválja, vagy amikor az űrlap frissítődik vagy újra lekérdeződik.
- A Beszúrás előtt (BeforeInsert) esemény akkor lép fel, amikor a felhasználó begépeli az
első karaktert egy új rekordba, de még a rekord tényleges létrehozása előtt.
- A Beszúrás után (AfterInsert) esemény egy új rekord hozzáadása után lép fel.
- A Frissítés előtt (BeforeUpdate) esemény egy vezérlőelem vagy rekord megváltozott
adatának frissítése előtt lép fel.
- A Frissítés után (AfterUpdate) esemény egy vezérlőelem vagy rekord megváltozott
adatának frissítése után lép fel.
- A Törlésre (Delete) esemény akkor lép fel, amikor a felhasználó bizonyos műveletet hajt
végre, például megnyomja a DEL billentyűt, egy rekord törléséhez, de még a rekord
tényleges törlése előtt.
- A Törlés megerősítés előtt (BeforeDelConfirm) esemény akkor lép fel, amikor a
felhasználó egy vagy több rekordot törléssel a pufferbe tesz, de még mielőtt a Microsoft
Access megjelenít egy üzenetet, amely a felhasználótól a törlések megerősítését kéri.
- A Törlés megerősítés után (AfterDelConfirm) esemény azután lép fel, hogy a felhasználó
megerősíti a törléseket és a rekordok ténylegesen törlődnek, vagy a törléseket
megakadályozta.
- A Megnyitásra (Open) esemény egy űrlap megnyitásakor, de még az első rekord
megjelenítése előtt lép fel. Jelentések esetében az esemény egy jelentés nyomtatási
képének megjelenése vagy nyomtatása előtt lép fel.
- A Betöltésre (Load) esemény akkor lép fel, amikor egy űrlap megnyitódik és a rekordok
megjelennek.
- Az Átméretezésre (Resize) esemény egy űrlap megnyitásakor és az űrlap méretének
megváltozásakor lép fel.
- A Kiürítésre (Unload) esemény egy űrlap bezárása után, de a képernyőről való eltávolítása
előtt lép fel. Az űrlap újra betöltésekor a Microsoft Access újra megjeleníti az űrlapot és
újrainicializálja az összes vezérlőelemének a tartalmát.
- A Bezárásra (Close) esemény akkor lép fel, amikor egy űrlap vagy jelentés bezáródik és
lekerül a képernyőről.
- Az Aktiválásra (Activate) esemény akkor lép fel, amikor egy űrlap vagy jelentés megkapja
a fókuszt és aktív ablakká válik.
- A Deaktiválásra (Deactivate) esemény akkor lép fel, amikor egy űrlap vagy jelentés átadja
a fókuszt egy Tábla, Lekérdezés, Űrlap, Jelentés, Makró vagy Modul ablaknak vagy az
Adatbázis ablaknak.
- A Fókusz vételekor (GotFocus) esemény akkor lép fel, amikor egy űrlap vagy vezérlőelem
megkapja a vezérlést (a fókuszt).
- A Fókusz elvesztésekor (LostFocus) esemény akkor lép fel, amikor egy űrlap vagy
vezérlőelem elveszti a fókuszt.
- A Kattintásra (Click) esemény akkor lép fel, amikor a felhasználó megnyomja, majd
felengedi az egérgombot egy objektumon.
- A Dupla kattintásra (DblClick) esemény akkor lép fel, amikor a felhasználó kétszer
megnyomja és felengedi a bal egérgombot egy objektumon a rendszer dupla kattintási
időhatárán belül.
- Az Egérgomb lenyomására (MouseDown) esemény akkor lép fel, amikor a felhasználó
megnyom egy egérgombot.
- Az Egérmozgásra (MouseMove) esemény akkor lép fel, amikor a felhasználó mozgatja az
egeret.
Informatikai alapismeretek modul Adatbázis-kezelés
111
- Az Egérgomb felengedésére (MouseUp) esemény akkor lép fel, amikor a felhasználó
felenged egy egérgombot.
- A Billentyű lenyomására (KeyDown) esemény akkor lép fel, amikor a felhasználó
megnyom egy billentyűt, miközben egy űrlapon vagy egy vezérlőelemen van a fókusz.
- A Billentyű felengedésére (KeyUp) esemény akkor lép fel, amikor a felhasználó felenged
egy billentyűt, miközben egy űrlapon vagy egy vezérlőelemen van a fókusz. Ez a két
esemény akkor is fellép, ha egy billentyűleütést küldünk egy űrlapnak vagy
vezérlőelemnek a SendKeys művelet makróban vagy a SendKeys parancs Visual Basic
kódban való használatával.
- A Billentyű leütésére (KeyPress) esemény akkor lép fel, amikor a felhasználó megnyom és
felenged egy ANSI kódhoz tartozó billentyűt vagy billentyűkombinációt, miközben egy
űrlapon vagy egy vezérlőelemen van a fókusz.
- A Billentyű elvétele (KeyPreview) tulajdonság segítségével meghatározható, hogy meg
kell-e hívni az űrlap szintű, billentyűzettel kapcsolatos eseményvezérelt eljárásokat egy
vezérlőelem billentyűzettel kapcsolatos eseményvezérelt eljárásai előtt.
- A Hibára (Error) esemény akkor lép fel, amikor egy futásidejű hiba lép fel a Microsoft
Access programban, és egy űrlap vagy jelentés rendelkezik a fókusszal.
- A Szűrőre (Filter) esemény akkor következik be, amikor Űrlap nézetben a Rekordok menü
Szűrés pontjára visszük az egérmutatót, majd a Szűrés űrlappal parancsra kattintunk, vagy
az eszköztár Szűrés űrlappal gombjára kattintunk.
- A Szűrésre (ApplyFilter) esemény akkor következik be, mikor Űrlap nézetben a Rekordok
menü Szűrés/Rendezés parancsára kattintunk, a Szűrő ablakban a Szűrő menü
Szűrés/Rendezés parancsára kattintunk, vagy az eszköztáron a Szűrés gombra kattintunk,
és ezzel aktiváljuk a szűrőt.
- Az Időzítőre (Timer) esemény egy űrlap számára az űrlap Időzítő intervallum
(TimerInterval) tulajdonsága által meghatározott szabályos időközönként lép fel.
- Az Időzítő intervallum (TimerInterval) tulajdonság segítségével az űrlapon bekövetkező
Timer események közötti időköz határozható meg ezredmásodpercben.
Egyéb tulajdonságok beállításai
- Az Előugró (PopUp) tulajdonság segítségével adható meg, hogy egy űrlap előugró
űrlapként nyíljon-e meg. Így például egy űrlap Előugró (PopUp) tulajdonságának Igenre
állításával, a Modális (Modal) tulajdonságának Igenre állításával és a Keret stílusa
(BorderStyle) tulajdonságának Párbeszéd állásba állításával egyéni párbeszédpanel
készíthető.
- A Modális (Modal) tulajdonság használható annak megadásához, hogy egy űrlap modális
űrlapként nyíljon-e meg. Amikor egy űrlapot modális űrlapként nyitunk meg, akkor az
űrlapot be kell zárnunk, mielőtt a fókuszt egy másik objektumra visszük.
- A Körforgás (Cycle) tulajdonság segítségével előírható, hogy mi történjen, ha a TAB
billentyű leütésekor a fókusz egy kötött űrlap utolsó vezérlőelemén van.
- A Menüsor (MenuBar) tulajdonság használatával lehet egy adatbázishoz, űrlaphoz vagy
jelentéshez használni kívánt menüsort megadni.
- Az Eszköztár (Toolbar) tulajdonság segítségével megadhatjuk egy űrlaphoz vagy
jelentéshez használható eszköztárt.
- A Helyi menü (ShortcutMenu) tulajdonság segítségével adható meg, hogy az egér jobb
oldali gombjával egy űrlap valamelyik objektumára kattintáskor megjelenjen-e helyi menü.
A helyi menü használatának letiltására például azért lehet szükség, hogy a felhasználó ne
változtathassa meg az űrlaphoz tartozó rekordforrást az űrlap helyi menüje egy
szűrőparancsának kiadásával.
Informatikai alapismeretek modul Adatbázis-kezelés
112
- Helyi menüsor (ShortcutMenuBar) tulajdonság segítségével meghatározható az a helyi
menü, amely akkor jelenik meg, amikor az egér jobb oldali gombjával rákattintunk egy
űrlapra, egy jelentésre vagy egy űrlap egy vezérlőelemére. Menüsor, eszköztár, helyi menü
a Nézet menü Eszköztárak elemére mutatva, majd a Testreszabás parancsra kattintva
hozható létre.
- A Súgófájl (HelpFile) tulajdonság az aktuális űrlaphoz vagy jelentéshez tartozó egyéni
Súgófájl nevét adja meg.
- A Súgó környezetazonosító (HelpContextID) tulajdonság egy, a Súgófájl (HelpFile)
tulajdonság beállításában megadott egyéni Súgó-fájlbeli témakör környezet-azonosítóját
határozza meg.
- Az Azonosító (Tag) tulajdonság segítségével űrlapra, jelentésre, szakaszra vagy
vezérlőelemre vonatkozó bármely olyan további információ tárolható, amelyre az
alkalmazásnak szüksége van.
- A Modulos (HasModule) tulajdonság segítségével megadhatjuk vagy meghatározhatjuk,
hogy egy űrlapnak vagy jelentésnek van-e osztálymodulja, vagyis olyan Visual Basic
kódja, mely az űrlaphoz kapcsoltan létezik. A tulajdonság Nem értékre állítása növelheti a
teljesítményt és csökkentheti az adatbázis méretét.
Űrlapok létrehozása
Űrlapot létre lehet hozni saját kezűleg, illetve a Microsoft Access által kínált Űrlap Varázsló
segítségével. Az Űrlap Varázsló jelentősen meggyorsítja a munkát, mert az alapvető
műveleteket elvégzi a felhasználó helyett. Az Űrlap Varázsló használata közben a Microsoft
Access különböző kérdéseket tesz fel, és az űrlapot a kérdésekre adott válaszok alapján hozza
létre. Az Űrlap Varázsló azoknak is hasznos segítséget nyújthat, akik már tapasztaltabbak az
űrlapok létrehozásában segítségével gyorsabb az űrlaphoz tartozó vezérlőelemek
megtervezése, és utána még mindig át lehet váltani Tervező nézetbe, ahol átalakítható az
űrlap.
Az űrlapokat általában valamely tábla vagy lekérdezésre alapozva hozzuk létre, hacsak nem
üres űrlapot szeretnénk készíteni. Amennyiben a Létrehozás szalagmenün az űrlapokat
választjuk, az Űrlap, Osztott űrlap, Több elem lehetőségeknél érdemes a navigációs ablakban
a Tábla vagy Lekérdezés objektumoknál állni, és valamely objektumot kijelölni az űrlap
létrehozása előtt. Ilyenkor az űrlapot úgy hozza létre a program, hogy hozzákapcsolja az adott
objektumhoz.
Űrlaptervezés, Üres űrlap valamint a További űrlapok lehetőséget választhatjuk úgy is,hogy a
Navigációs ablakban bárhol vagyunk. Ilyenkor úgy is utólag magunk határozzuk meg, hogy
az űrlapunkat hogyan készítjük el, mihez kapcsoljuk hozzá.
Informatikai alapismeretek modul Adatbázis-kezelés
113
Űrlap lehetőség (Autoűrlap)
Az Űrlap lehetőség olyan űrlapot hoz létre, amely a kiválasztott tábla vagy lekérdezés
valamennyi sorát és oszlopát megjeleníti, úgymond oszlopos elrendezésben. Amennyiben a
táblának vannak egyéb táblákkal kapcsolatos adatai, akkor a program egy segédűrlapot is
elhelyez az űrlapon. Ez utóbbit, amennyiben nincs rá szükségünk, később törölhetjük.
A Navigációs ablakban kattintsunk a Táblák vagy a Lekérdezések fülre.
Kattintsunk arra a táblára vagy lekérdezésre, melynek adatai alapján az új űrlapot létre
szeretnénk hozni, vagy nyissuk meg bármelyik nézetben a táblát vagy a lekérdezést. Most a
"Termékek értéke" lekérdezést válasszuk ki a lekérdezések közül.
Kattintsunk a Létrehozás szalagmenü Űrlapok panelén az Űrlap gombra.
A Microsoft Access elkészíti automatikusan az űrlapot, mely egy egyszerű egyoszlopos űrlap,
mely a lekérdezés adatain alapul. Zárjuk be az űrlapot mentés nélkül!
Varázslóval
A Navigációs ablakban kattintsunk az Űrlapok lehetőségre.
Válasszuk ki a Létrehozás szalagmenüben a "További űrlapok", „Űrlapvarázsló” lehetőséget!
Nyissuk le a Táblák/Lekérdezések lenyíló listát, majd kattintsunk azon tábla vagy lekérdezés
nevére, amelynek adatai alapján az új űrlapot létre szeretnénk hozni. Legyen ez most újra a
Termékek értéke! Adjuk hozzá a mezőket, a Kijelölt mezők listához (>>), amjd nyomjuk meg
Informatikai alapismeretek modul Adatbázis-kezelés
114
a Tovább gombot. Most az új ablakban válasszuk a Táblázatos lehetőséget, majd Tovább
gomb. A Stílusnál válasszuk a Windows Vista lehetőséget (de a többit is nézzük meg), majd
nyomjunk Tovább gombot.
Az utolsó ablakban nevet adhatunk az űrlapunknak, illetve eldönthetjük,hogy a továbbiakban
milyen nézetben szeretnénk használni. Majd kattintsunk a befejezés gombra.
A Microsoft Access elkészíti automatikusan az űrlapot, mely a lekérdezésen alapul, ám most
az előző űrlappal ellentétben egyszerre több rekord adatait is megszemlélhetjük rajta.
Zárjuk be az űrlapot mentés nélkül!
Informatikai alapismeretek modul Adatbázis-kezelés
115
Készítsünk új űrlapot! Válasszuk az Űrlap Varázslót!
Az itt látható párbeszédablak nagyon hasonlít a Lekérdezés varázsló hasonló ablakához.
Nyissuk le a Táblák/Lekérdezések lenyíló listát, majd válasszuk a "Termékek értéke"
lekérdezést!
Az Elérhető mezőkből vegyük fel a Terméknevet, az Egységárat és a Raktárértéket a Kijelölt
mezők listába, majd kattintsunk a Tovább gombra!
A következő ablakban eldönthetjük, hogy milyen elrendezésben akarjuk megjeleníteni az
űrlapon a kiválasztott adatokat. Válasszuk ki az Oszlopos lehetőséget, mely egyoszlopos
űrlapot fog létrehozni, majd kattintsunk a Tovább gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
116
A következő párbeszédpanelen az űrlap kinézeti jellemzőit meghatározó sablont választhatjuk
ki egy listából. Válasszuk ki az Iroda sablont, és kattintsunk a Tovább gombra!
A megjelenő ablakban adhatjuk meg az űrlapunk nevét, valamint, hogy milyen módon nyíljon
meg az elkészítés után. Fogadjuk el a felkínált "Termékek értéke1" nevet, válasszuk "Az űrlap
megnyitása…" opciót és kattintsunk a Befejezés gombra!
Ellenőrizzük a létrejött űrlapot, hogy azok az adatok szerepelnek-e rajta amit mi
megjelöltünk. Ha elégedettek vagyunk az eredménnyel zárjuk be az űrlapot! A Microsoft
Access nem kérdezi meg, hogy mentse-e az űrlapot, hiszen az, az előbbi névadással már
megtörtént.
Tervező nézetben
A Navigációs ablakban kattintsunk az Űrlapok objektumok megjelenítésére.
Válasszuk ki a Létrehozás szalagmenüben az "Űrlaptervezés" lehetőséget!
Kattintsunk a Tervezés szalagmenü Eszközök paneljén, a Mezők felvétele gombra.
Ha az űrlapon nem lesznek adatok (például ha az űrlapot kapcsolótáblaként szeretnénk
használni más nyitott űrlapokhoz vagy jelentésekhez, vagy ha egyéni párbeszédpanelt
kívánunk létrehozni), ne kapcsoljuk be ezt az utóbbi lehetőséget.
Ha olyan űrlapot szeretnénk létrehozni, amely egynél több táblából használ adatokat, akkor az
űrlapot egy olyan lekérdezés alapján kell létrehozni, amely tartalmazza a használni kívánt
táblákat. Figyeljünk azonban arra, hogy a kapcsolódás típusa miatt, az eredményhalmaz nem
Informatikai alapismeretek modul Adatbázis-kezelés
117
mindig bővíthető (vagyis sok esetben lekérdezésre épülő űrlappal nem tudunk új rekordokat
felvinni a lekérdezést alkotó táblákba)!
A Microsoft Access egy üres a Tervező nézetben megjelenített Űrlap ablakot nyit. Az Access
ablak jobboldalán pedig megjelenik az úgynevezett mezőlista, ahonnan mezőket tudunk az
űrlapunkra helyezni.
Ellenőrizzük az űrlap tulajdonságlapjának Adat fülén, hogy be van-e állítva rekordforrásnak a
"Termékek értéke" lekérdezés. Nincsen! A lenyíló listából válasszuk ki! A Tulajdonságlapot
előtte szintén a szalagmenüről kérjük, majd szélesítsük ki,hogy megfelelően lássuk az
adatokat.
Zárjuk be a Tulajdonságlapot,majd keressük meg újra a Mezők felvétele gombot, és
kattintsunk rá! A mezőlista alján láthatunk egy olyan felíratot, hogy Csak az aktuális
rekordforrás mezőinek megjelenítése. Kattintsunk a felíratra. Akövetkező mezőlista kell
megjelenjen, amennyiben jól dolgoztunk:
Informatikai alapismeretek modul Adatbázis-kezelés
118
A megjelenő listában jelöljük ki a Terméknév, Egységár és Raktáron mezőket (a SHIFT vagy
CTRL billentyű használatával), majd a kijelölt mezőkre kattintsunk bal egérgombbal és
lenyomott egérgombbal húzzuk rá az űrlapra!
Az űrlapon megjelennek az adatokat megjelenítő vezérlőelemek az ún. beviteli mezők és a
hozzájuk tartozó címkék. Menjünk át Űrlap nézetbe és ellenőrizzük az eredményt!
Ha megfelelőnek találjuk az eredményt, zárjuk be az űrlapot mentés nélkül!
Informatikai alapismeretek modul Adatbázis-kezelés
119
9. fejezet
Fő és segédűrlapok használata és létrehozása
Ha több táblán alapuló űrlapot hozunk létre, az adatokat megjeleníthetjük egyszerű űrlap vagy
hierarchikus űrlap formájában. Az egyszerű űrlapra példa az az űrlap, amely a termékeket és
azok szállítóit jeleníti meg. A hierarchikus űrlap olyan űrlap, amelyhez legalább egy
segédűrlap tartozik. A segédűrlap akkor hasznos, ha a megjelenítendő adatok olyan űrlapból
származnak, amelyen egy-sok kapcsolat van. A Kategóriák űrlapon például szerepelhetnek
adatok a Kategóriák és a Termékek táblából. Amikor az Űrlap Varázsló segítségével több
táblán alapuló űrlapot hozunk létre, a Microsoft Access az űrlap mögött létrehoz egy SQL
utasítást. Az SQL utasításban szerepel, hogy mely táblákat és mely mezőket használja az
illető űrlap.
Elképzelhető, hogy segédűrlap nélkül kell megjeleníteni a hierarchikus adatokat. Ha például
az űrlaphoz sok vezérlőelem tartozik, esetleg nincs elegendő hely a segédűrlap számára.
Ilyenkor az Űrlap Varázsló segítségével létrehozhatunk csatolt űrlapokat. Ekkor az egyik
űrlapon lévő parancsgombra kattintva megnyitható a másik űrlap, amely az első űrlap
rekordjával szinkronban van.
A segédűrlapot általában olyan táblák vagy lekérdezések adatainak megjelenítésére
használjuk, amelyek egy-sok kapcsolatban állnak egymással. A Kategóriák tábla és a
Termékek tábla például egy-sok kapcsolatban van - tehát minden kategóriához több termék is
tartozhat.
Amikor egy-sok kapcsolatban álló táblákon alapuló űrlapot és segédűrlapot készítünk, a
főűrlap jeleníti meg a kapcsolat "egy" oldalát, a segédűrlap pedig a "több" oldalt. A főűrlap
úgy van összehangolva a segédűrlappal, hogy a segédűrlap csak a főűrlap aktuális
rekordjához kapcsolódó rekordokat jeleníti meg. Ha varázsló segítségével hozzuk létre a
segédűrlapot, illetve az Adatbázis ablakból húzunk át egy űrlapot vagy adatlapot egy másik
űrlapra, és így hozunk létre segédűrlapot, a Microsoft Access automatikusan összehangolja a
főűrlapot a segédűrlappal, amennyiben az alábbi két feltétel is teljesül:
- A kiválasztott táblák a Kapcsolatok ablakban beállított kapcsolatban állnak egymással. Ez
általában egy-sok kapcsolat. Ha kiválasztottunk egy lekérdezést vagy lekérdezéseket, a
Microsoft Access automatikusan összehangolja az űrlapot és a segédűrlapot, amennyiben a
lekérdezés(ek) alapjául szolgáló táblák megfelelnek ennek a feltételnek. Használhatunk
például egy táblán alapuló lekérdezést egy mező értékének kiszámításához. Ha ez az alapul
szolgáló tábla helyesen van összekapcsolva a másik alapul szolgáló táblával, illetve
lekérdezéssel, a Microsoft Access automatikusan összehangolja az űrlapot és a
segédűrlapot.
- A főűrlap elsődleges kulccsal rendelkező táblán alapul, a segédűrlap pedig olyan táblán,
amelynek van az elsődleges kulccsal megegyező nevű mezője ugyanazzal vagy
kompatíbilis adattípussal. Ha például a főűrlap elsődleges kulcsa egy Számláló típusú
mező, és Mezőméret tulajdonsága Hosszú egész értékre van beállítva, akkor a segédűrlap
megfelelő mezőjének Szám mezőnek kell lennie, és a Mezőméret tulajdonság beállításának
Hosszú egésznek kell lennie. Ha kiválasztunk egy lekérdezést, a lekérdezés alapjául
szolgáló táblának ki kell elégítenie ezeket a feltételeket.
Informatikai alapismeretek modul Adatbázis-kezelés
120
A Northwind adatbázis Navigációs ablakában válasszuk a Űrlap lehetőséget, majd nyissuk
meg a Vevő rendelései űrlapot Űrlap nézetben!
Elemezzük a látottakat! A főűrlap tartalmazza a vevő adatait: a nevét és az országot, a két
segédűrlap pedig a rendeléseit ill. azok részleteit. Az adatbázis ezen része felépítésének
ismeretében az adatok közötti kapcsolatok könnyen meghatározhatók. Léptessük a rekordokat
és vizsgáljuk meg a kijelzett adatok változását!
Nem nehéz felismerni, hogy a felső segédűrlap a Rendelések tábla adatait jeleníti meg, mely a
Vevőhöz egy-sok kapcsolattal kapcsolódik, vagyis egy vevőhöz több Rendelésrekord is
tartozhat. Az alsó segédűrlap pedig a Rendelésekhez a Rendelések részletei kapcsolótáblán
keresztül kapcsolódó Termékek tábla adatait tartalmazza. Ebben az esetben is igaz, hogy egy
rekordhoz a Rendelések táblában több rekord tartozhat a Termékek táblában. Zárjuk be az
űrlapot!
Fő és segédűrlap létrehozása
Varázslóval
Készítsünk új űrlapot, mely megjeleníti nekünk a szállítókat és az általuk beszállított
termékeket! Válasszuk a Létrehozás szalagmenüt, majd válasszuk a További űrlapok közül az
Űrlap Varázslót!
Informatikai alapismeretek modul Adatbázis-kezelés
121
A megjelenő párbeszédpanel Táblák/Lekérdezések lenyíló listájából válasszuk ki a
Szállítókat, majd az Elérhető mezőkből vegyük fel a Cégnév mezőt! Nyissuk le újra a
Táblák/Lekérdezések listát és most a Termékek táblát válasszuk! Az Elérhető mezőkből
vegyük fel a Terméknév és az Egységár mezőt! Kattintsunk a Tovább gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
122
A megjelent párbeszédablak jelzi, a Microsoft Access felismerte az adatok közötti
kapcsolatokat! Választhatunk, hogy a Szállítók szerint szeretnénk megjeleníteni az adatokat
(ekkor az "Űrlap segédűrlappal" ill. "Csatolt űrlapok" opciók állnak a rendelkezésünkre)
vagyis a Szállítók táblában lévő rekordhoz tartozó összes rekordot egy űrlapon akarjuk-e
megjeleníteni, vagy a Termékek szerint, ilyen esetben egyszerű űrlap jön létre, hiszen egy
Termékrekordhoz csak egy Szállítórekord tartozik. Válasszuk a Szállítók szerinti megjelenést,
valamint az Űrlap segédűrlappal lehetőséget!
A varázsló következő ablakában azt kell eldöntenünk, hogy a kapcsolódó rekordokat a
segédűrlapon milyen formában szeretnénk megjeleníteni: táblázatos, vagy adatlapos
kialakítással. Válasszuk az Adatlap lehetőséget, kattintsunk a Tovább gombra, majd a stílus
kiválasztásánál válasszuk a Szabványos lehetőséget! Kattintsunk a Tovább gombra!
A megjelenő párbeszédpanelen eldönthetjük, hogy milyen stílusban szeretnénk megjeleníteni
az űrlapot. Válasszuk az alapértelmezett Iroda stílust, majd kattintsunk a Tovább gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
123
A megjelenő párbeszédpanel már ismert, itt adhatjuk meg az űrlap nevét. Annyi eltérést
fedezhetünk fel az eddigiektől, hogy itt nem egy, hanem két nevet kell megadni, mivel a
segédűrlapunkat is el kell nevezni. Az űrlapnak adjuk a "Szállítók és termékeik", míg a
segédűrlapnak a "Termékek segédűrlap" nevet, majd kattintsunk a befejezés gombra!
Vegyük észre, hogy a létrejött fő/segédűrlapon két léptető gombsor van, az alsó a főűrlap, a
felső a segédűrlaphoz tartozó rekordokon történő mozgáshoz. Ellenőrizzük, hogy helyesek-e
az eredmények, majd váltsunk át Tervező nézetbe!
Informatikai alapismeretek modul Adatbázis-kezelés
124
Ha nézetváltáskor nem látjuk az űrlap teljes területét, ennek oka az, hogy a Microsoft Access
az ablakok méretét nem módosítja, csak a kijelzett tartalmukat. Ebben az esetben tehát e
megfelelő méretmódosításokat nekünk kell megtenni. Az űrlap Tervező nézetében látjuk,
hogy a segédűrlap vezérlőelemként jelenik meg rajta. Ez azt eredményezi, hogy a főűrlapon
csak a csatolási ill. méretadatait tudjuk módosítani a segédűrlapnak, az adatok
megjelenítésének megváltoztatásához a segédűrlap Tervező nézetét kell használni.
Jelöljük ki a segédűrlapot, a segédűrlap szélére kattintva. Kattintsunk ugyanitt jobb
egérgombbal, majd a megjelenő gyorsmenüből válasszuk a Tulajdonságok menüpontot. A
tulajdonságlap megjelenésekor váltsunk annak Adat fülére!
Itt két, a fő és segédűrlapos kialakításhoz fontos beállítást találunk:
- Az Almező csatolása (LinkChildFields) tulajdonságmezőbe a segédűrlap csatoló
mezőjének neve kerül. Több csatoló mező esetében a mezőnevek között pontosvessző
található, és az Almező csatolása (LinkChildFields) és Főmező csatolása
(LinkMasterFields) tulajdonságban azonos sorrendben vannak a mezőnevek.
- A Főmező csatolása (LinkMasterFields) tulajdonságmezőbe kerül a főűrlap csatoló
mezőjének neve.
Zárjuk be az adatlapot, majd zárjuk be a Szállítók és termékeik űrlapot is! Keressük meg az
Navigációs ablakban a most létrehozott két (fő és segéd) űrlapot!
Informatikai alapismeretek modul Adatbázis-kezelés
125
Tervező nézetben
A Navigációs ablakban kattintsunk az Űrlapok fülre.
Válasszuk a Létrehozás szalagmenüt, majd válasszuk az Űrlaptervezés lehetőséget.
A Microsoft Access egy üres a Tervező nézetben megjelenített Űrlap ablakot nyit.
Állítsuk be az űrlap tulajdonságlapjának Adat fülén, rekordforrásnak a "Szállítók" táblát.
Keressük meg a szalagmenün a Mezők felvétele gombot és kattintsunk rá!
A Megjelenő listában válasszuk ki a Szállítókód és a Cégnév mezőt és húzzuk az űrlapra.
Most tekintsünk a vezérlők panelre a szalagmenün! A vezérlőelemek egy csoportjához
varázslók tartoznak, melyek akkor aktivizálódnak, ha belekezdünk az adott vezérlőelem
létrehozásába. Mivel ez sok esetben nem megfelelő működés ezért ez a funkció
kikapcsolható. Az panel gombja mutatja, hogy a Vezérlőelem varázslók használata be vagy
kikapcsolt állapotban van éppen.
Ellenőrizzük, hogy be van-e kapcsolva a Vezérlőelem varázslók használata! Ha igen, akkor
keressük meg a Segédűrlap/segédjelentés gombot az eszköztáron! Kapcsoljuk be (kattintsunk
rá), majd kattintsunk az űrlapon a Cégnév mező alatti területre!
Informatikai alapismeretek modul Adatbázis-kezelés
126
Elindul a Segédűrlap/segédjelentés varázsló.
A varázsló első ablakában kiválaszthatjuk, hogy egy már meglévő űrlapot akarunk-e
segédűrlapnak használni, vagy újat szeretnénk készíteni, az adatbázis tábláinak és/vagy
lekérdezéseinek felhasználásával. Válasszuk a "meglévő táblák és lekérdezések használat"
lehetőséget, majd nyomjuk meg a Tovább gombot!
A következő párbeszédpanelen határozhatjuk meg a segédűrlap által tartalmazott mezőket.
Válasszuk a Táblák/Lekérdezések listából a Termékek táblát, és vegyük fel a segédűrlapba a
Szállítókód, a Terméknév, és az Egységár mezőket! A Terméknév és az Egységár tartalmazza
a megjelenítendő értékes adatokat, míg a Szállítókód mezőt azért vettük fel, mert ezzel
kapcsoljuk össze a fő és a segédűrlapon szereplő rekordokat. Kattintsunk a Tovább gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
127
A varázsló következő ablakában határozhatjuk meg, a kapcsolatokat a két űrlaprész között. A
Microsoft Access automatikusan felismeri a kapcsolatokat, ha az helyesen van beállítva. Ilyen
esetekben a felismert kapcsolato(ka)t megjeleníti egy listában, ahonnan azt egyszerű
kattintással kiválaszthatjuk. Jelen esetben a felismert kapcsolat a "Termékek adatai Szállítók
minden rekordjához,csatoló: Szállítókód". Válasszuk ezt, majd menjünk Tovább! A
következő ablakban adjuk meg a segédűrlapunk nevét, mely legyen most "Szállítók
segédűrlap", majd kattintsunk a befejésre!
A varázsló létrehozza az űrlapon a segédűrlapot! A méretei nem megfelelők ezért állítsuk át
azokat, a mozgatópontok segítségével. Az arányokat és az elrendezést a fenti ábra szemlélteti.
Miután ezt az elrendezést kialakítottuk, váltsunk Tervező nézetről Űrlap nézetre!
Informatikai alapismeretek modul Adatbázis-kezelés
128
Az alapértelmezett kialakítása a fő és segédűrlapnak megtörtént, azonban nem minden
beállítás megfelelő. Váltsunk vissza Tervező nézetbe és tegyük meg a következő
beállításokat:
- Nyissuk meg a főűrlap tulajdonságlapját! Állítsuk át a következő tulajdonságokat a
Formátum fülön:
- Görgetősáv: Egyik sem
- Rekordkijelölők: Nem
- Elválasztóvonal: Nem
- Automatikus középre igazítás: Igen
Zárjuk be a tulajdonságlapot, majd váltsunk Űrlap nézetre!
Mentsük az űrlapunkat "Szállítók termékeikkel" néven, majd zárjuk be!
Vezérlőelemek használata űrlapokon
Az űrlapokkal és jelentésekkel kapcsolatos valamennyi információ vezérlőelemekben
található. A vezérlőelem olyan objektum, amely az adott űrlaphoz vagy jelentéshez tartozik,
és amely adatokat jelenít meg, műveleteket hajt végre, illetve díszíti az űrlapot vagy a
jelentést. Egy űrlapon vagy jelentésen például használhatunk beviteli mezőt adatok
megjelenítésére, parancsgombot másik űrlap vagy jelentés megnyitására, vonalat és téglalapot
a vezérlőelemek elválasztására, csoportosítására, olvashatóbbá tételére.
A Microsoft Access a következő vezérlőelem-típusokat kínálja, melyek űrlap Tervező vagy
jelentés Tervező nézetében, az eszközkészlet segítségével érhetők el: beviteli mező, címke,
vezérlőelem-csoport, választógomb, jelölőnégyzet, váltógomb, cím, embléma, kombinált lista,
lista, parancsgomb, kép, kötött objektumkeret, kötetlen objektumkeret, diagram, segédűrlap,
segédjelentés, új oldal, vonal, téglalap és ActiveX egyéni vezérlőelemek.
A vezérlőelem lehet kötött, kötetlen vagy számított. A kötött vezérlőelem egy alaptábla vagy
lekérdezés valamely mezőjéhez van kötve. A kötött vezérlőelem segítségével az adatbázisban
lévő értékek megjeleníthetők, szerkeszthetők vagy frissíthetők. A számított vezérlőelem
adatforrása egy kifejezés. A kifejezés tartalmazhat adatokat az alaptábla, illetve egy tábla-
vagy jelentéslekérdezés mezőiből, illetve az űrlaphoz vagy jelentéshez rendelt másik
vezérlőelemből. A kötetlen vezérlőelemnek nincs adatforrása. A kötetlen vezérlőelemek
segítségével üzeneteket, vonalakat, téglalapokat és képeket lehet megjeleníteni.
Informatikai alapismeretek modul Adatbázis-kezelés
129
A vezérlőelemek (mint az űrlapok) tulajdonságokkal és eseményekkel rendelkeznek. Ezeket
adjuk meg az alábbiakban, természetesen csak azokat melyek eltérnek az űrlap ill. a már
felsorolt vezérlőelem tulajdonságoktól és eseményektől.
Címke
A címkét űrlapon vagy jelentésben leíró szöveg (például cím, felirat vagy rövid utasítás)
megjelenítéséhez szokás használni. A címkék nem jelenítenek meg mezőkből vagy
kifejezésekből származó értékeket, mindig kötetlenek és nem módosulnak a rekordról
rekordra való ugráskor.
Címke más vezérlőelemhez is csatolható. Amikor például létrehozunk egy beviteli mezőt,
akkor az egy, a beviteli mező feliratát megjelenítő csatolt címkét használ. Ez a címke
oszlopfejként jelenik meg egy űrlap Adatlap nézetében.
Amikor a Címke eszköz segítségével létrehozunk egy címkét, akkor a címke önmagában áll,
és nincs hozzácsatolva semmiféle vezérlőelemhez. Az önmagában álló címkéket olyan
információk megjelenítésére lehet használni, mint például egy űrlap vagy jelentés címe, vagy
más leíró jellegű szöveg. Az önmagában álló címkék nem jelennek meg Adatlap nézetben.
Tulajdonságok
Formátum:
- A Látható (Visible) tulajdonság segítségével megjeleníthető és elrejthető egy űrlap, egy
jelentés, űrlap vagy jelentés egy szakasza vagy egy vezérlőelem. Ezzel biztosítható egy
űrlapon lévő valamely információ elérhetősége anélkül, hogy az információ látható lenne.
Így például egy rejtett űrlapon lévő vezérlőelem értéke feltételként használható
lekérdezésben.
- A Kijelzés (DisplayWhen) tulajdonság segítségével lehet meghatározni, hogy egy űrlapnak
mely szakaszait illetve vezérlőelemeit szeretnénk a képernyőn megjeleníteni vagy
kinyomtatni. Beállíthatjuk, hogy egy szakasz vagy vezérlőelem mindig megjelenjen, vagy
csak nyomtatásban ill. a képernyőn.
- A Balra (Left) és Fel (Top) tulajdonságok segítségével egy objektum helyét határozhatjuk
meg egy űrlapon vagy egy jelentésen. A vezérlőelem helye nem más, mint a vezérlőelem
bal vagy felső keretének a vezérlőelemet tartalmazó szakasz bal vagy felső szélétől mért
távolsága. A Balra vagy Fel tulajdonság értékének 0 beállítása a vezérlőelem szélét a
szakasz bal vagy felső széléhez helyezi. Ha a Windows Vezérlőpult Területi beállítások -
adatlap párbeszédpanelén beállítottól eltérő mértékegységet akarunk használni, akkor
határozzuk meg a mértékegységet cm-hez vagy hüvelykhez hasonlóan (például 2 cm vagy
1,5 hüvelyk alakban).
- A Háttérstílus (BackStyle) tulajdonság segítségével meghatározható, hogy átlátszó legyen-
e egy vezérlőelem.
- A Háttérszín (BackColor) tulajdonság segítségével megadható egy vezérlőelem vagy
szakasz belsejének a színe.
- A Speciális hatás (SpecialEffect) tulajdonság segítségével megadható, hogy egy szakasz
vagy egy vezérlőelem kapjon-e különleges formázást.
- A Keret színe (BorderColor) tulajdonság segítségével megadható egy vezérlőelem
keretének színe.
- A Keret szélessége (BorderWidth) tulajdonság segítségével megadható egy vezérlőelem
keretének szélessége.
- Az Előtérszín (ForeColor) tulajdonság segítségével megadható egy vezérlőelemben lévő
szöveg színe.
Informatikai alapismeretek modul Adatbázis-kezelés
130
- A Betűtípus (FontName) és Betűméret (FontSize) tulajdonságok segítségével a szöveg
betű- és pont- méretének megadása végezhető el.
- A Betűvastagság (FontWeight) tulajdonság segítségével meghatározhatjuk azt a
vonalvastagságot, amelyet a Windows a vezérlőelemben található karakterek
megjelenítéséhez illetve nyomtatásához használ.
- A Dőlt betűtípus (FontItalic) és Aláhúzott betűtípus (FontUnderline) tulajdonságok
segítségével meghatározható, hogy a szöveg dőlt vagy aláhúzott legyen-e.
- A Szövegigazítás (TextAlign) tulajdonság a szöveg igazítását adja meg az új
vezérlőelemeken belül.
Egyéb:
- A Név (Name) tulajdonsággal adhatjuk meg vagy határozhatjuk meg azt a karakterlánc-
kifejezést, amely az űrlap, jelentés, szakasz, objektum nevét azonosítja.
- A Vezérlőelem-magyarázat (ControlTipText) tulajdonság segítségével megadható az a
szöveg, amely a Javaslatokban (kis sárga téglalapban felbukkanó gyorssúgó) jelenik meg,
amikor az egér mutatóját rövid ideig egy vezérlőelem felett tartjuk.
Létrehozás
A Navigációs ablakban kattintsunk az Űrlapok fülre.
Válasszuk a Létrehozás szalagmenüt, majd válasszuk az Űrlaptervezés lehetőséget.
Állítsuk be az űrlap tulajdonságlapjának Adat fülén, rekordforrásnak az "Alkalmazottak"
táblát. A Microsoft Access egy üres a Tervező nézetben megjelenített Űrlap ablakot nyit.
Kattintsunk a Vezérlőelem eszköztár Felirat ( ) gombjára! Hozzunk létre egy címkét az
űrlapon, oly módon, hogy a bal egérgomb nyomva tartása mellett egy téglalap alakú területet
jelölünk ki. A Microsoft Access létrehozza a címkét, és felkínálja szerkesztésre!
Írjuk be a "Próba szöveg" feliratot, majd váltsunk Űrlap nézetre!
Informatikai alapismeretek modul Adatbázis-kezelés
131
Tekintsük meg az eredményt! Váltsunk vissza Tervező nézetre, és módosítsuk a címke
tulajdonságjellemzőit (háttérszín, speciális hatás, betűtípus, betűméret stb.). Ezt oly módon
tudjuk megtenni, hogy kijelöljük a címkét, majd jobb egérgombbal rákattintva, a
gyorsmenüből a Tulajdonságok menüpontot kérjük. Ha megtettük a módosításokat,
ellenőrizzük azokat Űrlap nézetben! Ha mindent rendben találtunk, kapcsoljunk Tervező
nézetre!
Beviteli mező
A beviteli mezőt táblából, lekérdezésből vagy SQL utasításból származó adatok
megjelenítésére lehet használni űrlapokon és jelentésekben. Az ilyen típusú beviteli mezőt
kötött beviteli mezőnek nevezzük, mert egy mezőben lévő adathoz van kötve. A beviteli
mezők lehetnek kötetlenek is. Létrehozhatunk például kötetlen beviteli mezőt valamilyen
számítás eredményének megjelenítésére vagy felhasználói bevitel fogadására. A kötetlen
beviteli mezők adatai nem tárolódnak sehol.
Tulajdonságok
Formátum:
- A Formátum (Format) tulajdonság használható számok, dátumok, időpontok és szöveg
megjelenítési és nyomtatási módjának testreszabásához. Ha például létrehoztunk egy Ár
nevű beviteli mezőt, akkor annak a Formátum tulajdonságát beállíthatjuk a Pénznem
(Currency) értékre, a Tizedeshelyek (DecimalPlaces) tulajdonságát pedig 2-re vagy
Automatikus értékre. Ha a vezérlőelembe beírjuk a 4321,678 számot, akkor a szám
4321,68 Ft alakban jelenik meg.
- A Tizedeshelyek (DecimalPlaces) tulajdonság segítségével meghatározhatjuk, hogy a
Microsoft Access hány tizedesjegy pontossággal jelenítse meg a számokat.
- A Növelhető (CanGrow) és Összenyomható (CanShrink) tulajdonságokkal az űrlapokon és
jelentéseken a szakaszok vagy vezérlőelemek nyomtatásban vagy nyomtatási képen történő
megjelenését szabályozhatjuk. Például, ha mindkét tulajdonság beállítása Igen, akkor a
szakasz vagy vezérlőelem függőleges mérete automatikusan a szakasz vagy vezérlőelem
által tartalmazott összes adat nyomtatásához vagy nyomtatási képéhez igazodik.
Adat:
- A Mező vagy kifejezés (ControlSource) tulajdonság értéke szabja meg, hogy milyen adat
jelenik meg egy vezérlőelemben. A tábla vagy lekérdezés mezőjéhez vagy SQL utasításhoz
kötött adatok megjeleníthetők és szerkeszthetők. Kifejezés eredményét is meg lehet
jeleníteni. Jelentésekben lévő csoportszinten a Mező vagy kifejezés tulajdonság határozza
meg a csoportosítás alapját képező mezőt vagy kifejezést. A Mező vagy kifejezés
tulajdonság nem alkalmazható jelölőnégyzetre, választógombra és váltógombra, ha ezek
vezérlőelem-csoportban szerepelnek. A tulajdonság csak magára a csoportra alkalmazható.
- A Beviteli maszk (InputMask) tulajdonság segítségével megkönnyíthető az adatbevitel, és
szabályozhatóvá válnak azok az értékek, amelyeket a felhasználók egy beviteli mező
vezérlőelembe beírhatnak.
Informatikai alapismeretek modul Adatbázis-kezelés
132
- Az Alapértelmezett érték (DefaultValue) tulajdonság segítségével olyan értéket lehet
megadni, amely automatikusan beírásra kerül egy mezőbe, amikor egy új rekord jön létre.
- Az Érvényességi szabály (ValidationRule) tulajdonság segítségével meg lehet adni egy
rekordba, mezőbe vagy vezérlőelembe beírt adat követelményeit. Abban az esetben, ha
olyan adat kerül megadásra, amely megsérti az Érvényességi szabály beállítást, az
Érvényesítési szöveg (ValidationText) tulajdonság segítségével lehet meghatározni a
felhasználó számára megjelenítendő üzenetet.
- Az Engedélyezve (Enabled) tulajdonság segítségével megadható, hogy rákerülhet-e a
fókusz egy vezérlőelemre Űrlap nézetben.
- A Zárolt (Locked) tulajdonság segítségével megadható, hogy egy vezérlőelemben
szerkeszthetők legyenek-e az adatok Űrlap nézetben.
- A Szűrés megjelenítése (FilterLookup) tulajdonság értéke szabja meg, hogy láthatók-e
értékek a kötött beviteli mező vezérlőelemben a Szűrés űrlappal ablakban.
Esemény:
- A Belépésre (Enter) esemény azelőtt lép fel, hogy egy vezérlőelem ténylegesen megkapja a
fókuszt egy másik, ugyanazon az űrlapon lévő vezérlőelemtől.
- A kilépésre (Exit) esemény akkor lép fel, amikor egy vezérlőelem átadja a fókuszt egy
másik, ugyanazon az űrlapon lévő vezérlőelemnek.
Egyéb:
- Az Állapotsor szöveg (StatusBarText) tulajdonság beállításaként adható meg az a szöveg,
amely egy vezérlőelem kijelölésekor az állapotsorban megjelenik.
- Az Enter billentyű viselkedése (EnterKeyBehavior) tulajdonság azt szabja meg, mi
történik Űrlap nézetben vagy Adatlap nézetben az ENTER billentyű beviteli mezőben
történő leütésekor. A tulajdonság segítségével megkönnyíthető például többsoros szöveg
beírása egy táblabeli Feljegyzés mezőhöz kötött vezérlőelembe. Ha a tulajdonság értéke
nem Új sor a mezőben, a CTRL+ENTER billentyűkombinációval lehet új sorba lépni.
- Az Automatikus javítás engedélyezése (AllowAutoCorrect) tulajdonságot annak
megadására használhatjuk, hogy egy beviteli mező vagy kombinált lista vezérlőelem
automatikusan javítsa-e a felhasználó által megadott bejegyzéseket.
- Az Automatikus bejárás (AutoTab) tulajdonsággal megadható, hogy történjen-e
automatikus tabulálás a beviteli mező vezérlőelem beviteli maszkja által engedélyezett
utolsó karakter leütésekor. Az automatikus bejárás a fókuszt az űrlap bejárási sorrendjében
a következő vezérlőelemre viszi.
- A Bejárási pont (TabStop) tulajdonság segítségével az adható meg, hogy a TAB billentyű
lenyomásával ráhelyezhető-e a fókusz egy vezérlőelemre Űrlap nézetben.
- A Bejárási index (TabIndex) tulajdonság segítségével adható meg egy vezérlőelemnek az
űrlap bejárási sorrendjén belüli helye.
Létrehozás
Kattintsunk a Vezérlőelem eszköztár Beviteli mező ( ) gombjára! Hozzunk létre egy
beviteli mezőt az űrlapon, oly módon, hogy a bal egérgombbal rákattintunk a címke alatti
űrlapterületre!
Informatikai alapismeretek modul Adatbázis-kezelés
133
Hívjuk elő a beviteli mező tulajdonságlapját és az Adat fülön a Mező vagy kifejezés értékét
(mely listaként az Alkalmazottak tábla mezőit mutatja) állítsuk Vezetéknév-re, majd váltsunk
át Űrlap nézetre!
Léptessük a rekordokat, ellenőrizzük, hogy valóban kötött vezérlőelemmé vált-e az általunk
létrehozott beviteli mező! Kapcsoljunk vissza Tervező nézetre és változtassuk meg a beviteli
mező címkéjének feliratát "Alkalmazottnév"-re! Ellenőrizzük az eredményt!
Vezérlőelem-csoport
Űrlapon vagy jelentésben a választási lehetőségek korlátozott halmazának megjelenítésére
vezérlőelem-csoportot lehet használni. A vezérlőelem-csoport megkönnyíti egy érték
kijelölését, mivel csak a kívánt értékre kell kattintani. Egy vezérlőelem-csoportban egyszerre
csak egy választógombot lehet kijelölni.
A vezérlőelem-csoport egy csoportkeretet, valamint jelölőnégyzetek, választógombok vagy
váltógombok halmazát tartalmazza.
Ha egy vezérlőelem-csoport mezőhöz van kötve, akkor a mezőhöz csak maga a csoportkeret
van kötve, nem pedig a kereten belüli jelölőnégyzetek, váltógombok vagy választógombok. A
vezérlőelem-csoportban lévő egyes vezérlőelemek Mező vagy kifejezés (ControlSource)
tulajdonságának beállítása helyett az egyes jelölőnégyzetek, váltógombok vagy
választógombok Választási lehetőség (OptionValue) tulajdonságát állítsuk be egy olyan
számra, amely jelentéssel bír a csoportkerethez kötött mezőnél. Amikor egy vezérlőelem-
csoportban kijelölünk egy elemet, a Microsoft Access a mezőhöz kötött vezérlőelem-csoport
értékét a kijelölt elem Választási lehetőség (OptionValue) tulajdonságának értékére állítja be.
Informatikai alapismeretek modul Adatbázis-kezelés
134
A Választási lehetőség (OptionValue) tulajdonságot számra lehet beállítani, mert
vezérlőelem-csoport értéke csak szám lehet, szöveg nem. A Microsoft Access ezt a számot az
alaptáblában tárolja. Vezérlőelem-csoport beállítható kifejezéshez is, de lehet kötetlen is.
Kötetlen vezérlőelem-csoportot egyéni párbeszédpanelen is lehet használni felhasználói
bevitel fogadására, és a bevitel alapján műveletet lehet végrehajtani.
Tulajdonságok
Vezérlőelem-csoport minden vezérlőeleméhez numerikus kifejezés tartozik, amely a
Választási lehetőség (OptionValue) tulajdonsággal állítható át. A vezérlőelem kijelölésekor a
vezérlőelem-csoport ezt az értéket kapja meg. Ha a vezérlőelem-csoport mezőhöz van kötve,
a kijelölt vezérlőelem Választási lehetőség tulajdonságának értéke kerül a mezőbe.
Váltógomb
Alaptáblából, lekérdezésből vagy SQL utasításból származó Igen/Nem érték megjelenítésére
használhatunk önálló vezérlőelemként megjelenő váltógombot űrlapokon és jelentéseken. A
váltógomb olyan mezőhöz lehet kötve, melynek adattípusa Igen/Nem. Ha a gomb be van
nyomva, akkor a táblában lévő érték Igen, ha a gomb nincs benyomva, úgy az érték Nem.
Amikor egy Igen/Nem mezőhöz kötött váltógombra kattintunk, a Microsoft Access a mező
Formátum (Format) tulajdonságának (Igen/Nem, Igaz/Hamis vagy Be/Ki) megfelelően
jeleníti meg az értéket az alaptáblában. Váltógombot egyéni párbeszédpanelen is lehet
használni felhasználói bevitel fogadására.
Tulajdonságok
Formátum:
A Kép (Picture) tulajdonság segítségével megadható egy parancsgombon, egy kép
vezérlőelemen, egy váltógombon, karton vezérlőelem egy lapján vagy űrlap vagy jelentés
háttereként megjeleníteni kívánt pontkép vagy más típusú grafika. A gombokon akár felirat,
akár kép megjeleníthető.
Adat:
A Háromállapotú (TripleState) tulajdonságot használhatjuk annak megadására, hogy egy
jelölőnégyzet, váltógomb vagy választógomb jelentessen-e meg Null értékeket.
Választógomb
Alaptáblából, lekérdezésből vagy SQL utasításból származó Igen/Nem érték megjelenítésére
használhatunk önálló vezérlőelemként megjelenő választógombot űrlapokon és jelentéseken.
A következő ábrán szereplő választógomb például a Termékek tábla Kifutott mezőjéhez van
kötve. A Kifutott mező adattípusa Igen/Nem. Ha a választógomb ki van jelölve, akkor az
érték Igen, ha nincs kijelölve, úgy az érték Nem.
Amikor egy Igen/Nem mezőhöz kötött választógomb ki van jelölve, illetve törölve van, a
Microsoft Access a mező Formátum (Format) tulajdonságának (Igen/Nem, Igaz/Hamis vagy
Informatikai alapismeretek modul Adatbázis-kezelés
135
Be/Ki) megfelelően jeleníti meg az értéket az alaptáblában. Kötetlen választógombot egyéni
párbeszédpanelen is lehet használni felhasználói bevitel fogadására. Választógombokat abban
az esetben használunk, ha több választási lehetőségből csak egyet lehet kiválasztani.
Jelölőnégyzet
Alaptáblából, lekérdezésből vagy SQL utasításból származó Igen/Nem érték megjelenítésére
használhatunk önálló vezérlőelemként megjelenő jelölőnégyzetet űrlapokon és jelentéseken.
A következő ábrán szereplő jelölőnégyzet például a Termékek tábla Kifutott mezőjéhez van
kötve. A Kifutott mező adattípusa Igen/Nem. Ha a négyzet be van jelölve, akkor az érték
Igen, ha nem, úgy az érték Nem.
Amikor egy Igen/Nem mezőhöz kötött jelölőnégyzetet bejelölünk, illetve töröljük annak
jelölését, a Microsoft Access a mező Formátum (Format) tulajdonságának (Igen/Nem,
Igaz/Hamis vagy Be/Ki) megfelelően jeleníti meg az értéket az alaptáblában. Felhasználói
bevitel fogadására egyéni párbeszédpanelen is lehet kötetlen jelölőnégyzetet használni.
Jelölőnégyzeteket abban az esetben használunk, ha több választási lehetőségből többet is ki
lehet kiválasztani.
Kombinált lista
Sok esetben gyorsabb és egyszerűbb, ha egy értéket listából jelölünk ki, mintha fejből kellene
visszaidézni a konkrét értéket. A kombinált lista használata azért is hasznos, mert az űrlapon
nem foglal sok helyet. A kombinált lista a beviteli mező és a lista kombinációja.
Amikor a kombinált listában kiválasztunk vagy beírunk egy értéket - amennyiben a kombinált
lista kötött - a beírt vagy kijelölt érték abba a mezőbe kerül, amelyhez a kombinált lista kötve
van.
A kombinált lista adatsorokat tartalmaz. A sorok állhatnak akár több oszlopból is, amelyek
megjelenhetnek fejléccel vagy anélkül. Ha egy többoszlopos kombinált lista kötött, a
Microsoft Access csak az egyik oszlop értékeit tárolja.
Kötetlen kombinált listát használhatunk olyan érték tárolására, amelyet aztán más
vezérlőelemmel használhatunk. Kötetlen kombinált listát használhatunk például másik
kombinált listában vagy egyéni párbeszédpanelen az értékek korlátozására. Kötetlen
kombinált listát használhatunk arra is, hogy a kombinált listában kijelölt érték alapján
megkeressünk egy konkrét rekordot.
Informatikai alapismeretek modul Adatbázis-kezelés
136
A kombinált lista Csak listaelem(LimitToList) tulajdonságával meg lehet adni, hogy a listába
be lehet-e írni bármilyen értéket, vagy csak olyan szöveget, amely megegyezik a lista egyik
elemével.
Tulajdonságok
Formátum:
- Az Oszlopszám (ColumnCount) tulajdonság használható listában vagy kombinált lista lista
részében megjelenített oszlopok számának megadásához, avagy diagram vezérlőelemben
vagy kötetlen objektumkeretben lévő OLE objektumoknak küldött oszlopok számának
megadásához.
- Az Oszlopfej (ColumnHeads) tulajdonság használható olyan lista, kombinált lista és OLE
objektum oszlop fejlécei egyetlen sorának a megjelenítéséhez, amely elfogad oszlopfejet.
Hogy valójában mi jelenik meg az első sor oszlopfejében, az az objektum Sorforrás típusa
tulajdonságának a beállításától függ.
- Az Oszlopszélesség (ColumnWidths) tulajdonság az egyes oszlopok szélességének a
megadásához használható egy többoszlopos kombinált listában vagy listában. Ez a
tulajdonság használható egy vagy több oszlop elrejtéséhez is, ugyanis ha a szélességet 0-ra
állítjuk be, azzal elrejtjük az oszlopot.
- A Listasorok (ListRows) tulajdonság segítségével meg lehet határozni a kombinált lista
lista részében megjelenítendő sorok maximális számát. Ha a sorok tényleges száma
meghaladja a Listasorok (ListRows) tulajdonság beállítása által megadott számot, akkor a
kombinált lista lista részében megjelenik egy függőleges görgetősáv.
- A Listaszélesség (ListWidth) tulajdonság segítségével meg lehet határozni egy kombinált
lista lista részének szélességét.
- A Sorforrás típusa (RowSourceType) és a Sorforrás (RowSource) tulajdonságok együttes
használatával írhatjuk elő, hogy a Microsoft Access hogyan töltsön fel adattal egy listát,
kombinált listát vagy kötetlen OLE objektumot (ilyen például a diagram). Ha például egy
listában a Vevőlista nevű lekérdezés eredményét szeretnénk megjeleníteni, állítsuk a lista
Sorforrás típusa (RowSourceType) tulajdonságát Tábla/lekérdezés értékre, a Sorforrás
(RowSource) tulajdonságban pedig adjuk meg a Vevőlista nevű lekérdezést.
- Amikor listáról vagy kombinált listáról jelölünk ki, akkor a Kötött oszlop (BoundColumn)
tulajdonság mutatja meg a Microsoft Accessnek, hogy a vezérlőelem értékeként melyik
oszlop értékeit kell használni. Ha a vezérlőelem egy mezőhöz van kötve, akkor a Kötött
oszlop tulajdonság által megadott oszlopban lévő érték a Mező vagy kifejezés
tulajdonságban megnevezett mezőben kerül tárolásra.
- A Csak a listából (LimitToList) tulajdonság egy kombinált lista értékeit a felsorolt
elemekre korlátozza.
- Az Automatikus kiterjesztés (AutoExpand) tulajdonság segítségével el lehet dönteni, hogy
a Microsoft Access automatikusan kitöltse-e egy kombinált lista beviteli mező részét a
kombinált listából származó olyan értékkel, amely megegyezik a kombinált listába általunk
begépelt karakterekkel. Ez lehetővé teszi, hogy egy kombinált listába gyorsan tudjunk
beírni létező értéket úgy, hogy ne kelljen megjeleníteni a kombinált lista lista részét.
Esemény:
A Ha nincs a listában (NotInList) esemény akkor lép fel, amikor a felhasználó beír egy
értéket egy olyan kombinált lista beviteli mező részébe, amely nem része a kombinált
listamezőnek.
Informatikai alapismeretek modul Adatbázis-kezelés
137
Létrehozás
Értéket kereső lista és kombinált lista létrehozásakor két dolgot kell eldönteni:
- Honnan származnak a lista sorai?
- Amikor a felhasználó kiválaszt egy elemet a listában, illetve a kombinált listában, mi
történik azzal az értékkel?
A lista és a kombinált lista sorai származhatnak olyan rögzített értéklistából, amelyet az adott
lista létrehozásakor adunk meg (ezt akkor használjuk, ha a lista nem módosul túl gyakran),
illetve származhatnak táblából vagy lekérdezésből (ezt akkor érdemes, ha a listát gyakran
frissítjük). Rögzített listát használhatunk például a Dr., Ifj. és Id. rövidítéseket magában
foglaló lista esetén. Ha azonban van például egy Termékek nevű űrlap, és egy olyan listát
szeretnénk megjeleníteni, amely gyakran módosuló termékszállítókat sorol fel, akkor a listát
érdemesebb a tábla vagy egy lekérdezés alapján létrehozni. A lista megkeresi az értékeket a
Szállítók táblában, és megjeleníti a szállító nevét, hogy azután választhassunk közülük.
Amikor a felhasználó kiválaszt egy értéket a listában vagy a kombinált listában, két lehetőség
áll fenn. A kiválasztott értéket tárolhatjuk egy táblában (feltéve, hogy az nem egyezik meg
azzal a táblával, ahonnan a lista sorai származnak) vagy továbbíthatjuk az értéket egy másik
vezérlőelemnek. Ha például a Szállítók listából a felhasználó a "Pavlova, Ltd." bejegyzést
választja ki, akkor a Microsoft Access megkeresi a Pavlova, Ltd. elsődleges kulcsértékét
(Szállítókód) a Szállítók táblában, és a Termékek tábla aktuális rekordjának Szállítókód
mezőjét (az idegen kulcs) ugyanarra az értékre változtatja. Ez az érték kerül tárolásra. Mivel a
listában végbement választáson alapuló értéket tárolunk, ezért a lista kötött. (Ügyeljünk arra,
hogy a Szállítók táblából származó Szállító név érték csak megjelenik a listában, de nem
tárolódik itt.)
Ha azonban a listában vagy kombinált listában kiválasztott értéket más vezérlőelemek
tartalmának meghatározásához akarjuk felhasználni, akkor kötetlen listát hozzunk létre.
Létrehozhatunk például egy olyan listát, amelynek segítségével űrlapon lévő, kapcsolódó
rekordokat lehet megkeresni. Ezen kívül létrehozhatunk olyan listát is, amelyet más listák
vagy kombinált listák rekordjainak szűrésére használunk.
Nézzünk egy példát! Kattintsunk a Vezérlőelem eszköztár Kombi panel ( ) gombjára!
Hozzunk létre egy Kombinált listát az űrlapon, oly módon, hogy a bal egérgombbal
rákattintunk az üres űrlapterületre! A kombinált listához (és a listához is) varázsló tartozik,
mely végigvezet minket e vezérlőelem elkészítésének fázisain.
Informatikai alapismeretek modul Adatbázis-kezelés
138
A megjelenő ablak rögtön választás elé állít minket. Milyen kombinált listát akarunk
létrehozni?
- Automatikusan frissülő, az adatait táblából vagy lekérdezésből nyerő listát ("Szeretném,
ha…" opció)
- Statikus listát, amelybe mi visszük fel az adatokat ("Begépelem a…" opció)
- Szűrőlistát, mely egy megadott rekord megkeresésére használható az űrlap
rekordforrásában ("A program keresse meg…" opció)
Válasszuk az első lehetőséget, majd kattintsunk a Tovább gombra!
A megjelenő párbeszédpanelen választhatjuk ki a kombi panel Sorforrását! Jelöljük meg az
Alkalmazottak táblát, majd menjünk Tovább!
A következő párbeszédablakban választhatjuk ki a megjelölt tábla vagy lekérdezés azon
mezőit, melyet a kombinált listában szerepeltetni akarunk. Válasszuk ki az Alkalmazottkód és
Vezetéknév mezőket! Ha felvettük a mezőket kattintsunk kétszer a tovább gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
139
Beállíthatjuk, hogy a varázsló automatikusan elrejtse a kulcs oszlopot. Ebben az esetben a
kombinált lista a kulcs oszlophoz értékét adja vissza, de a lenyíló lista elemeit a másik (nem
kulcs) oszlop értékei adják. Kapcsoljuk ki "A kulcs oszlop elrejtése (javasolt)"
jelölőnégyzetet, majd folytassuk a kombinált lista létrehozását!
A kulcs oszlop elrejtésének megakadályozásával a Microsoft Accesstől átvettük a kulcs
oszlop (azonosító oszlop) kijelölésének feladatát! Tegyük ezt meg jelöljük ki az
Alkalmazottkód mezőt, mint kulcsmezőt! Ha végeztünk, kattintsunk a Tovább gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
140
A következő ablakban jelölhetjük ki, hogy a kombinált lista melyik mezőhöz kapcsolódjon,
vagyis melyik mezőből vegye a megjelenítendő értéket ill. változtatás esetén hova mentse azt.
Mivel a kombinált listánk kulcsoszlopa az Alkalmazottkód (mely azt jelenti, hogy a lista egy
elemének kiválasztása esetén a hozzátartozó Alkalmazottkódot adja vissza), így ezt az értéket
a Tábla Alkalmazottkód mezőjéhez érdemes hozzárendelni, majd folytassuk a kombinált lista
létrehozását!
Az utolsó ablakban a varázsló a kombinált lista címkéjének felirata után érdeklődik. Adjuk
meg az "Alkalmazott" szöveget, utána pedig kattintsunk a Befejezés gombra!
Helyezzük el a fenti ábrának megfelelően a kombinált listánkat, majd kapcsoljunk Űrlap
nézetre!
Informatikai alapismeretek modul Adatbázis-kezelés
141
Ellenőrizzük a kombinált lista működését! Lépkedjünk a rekordokon és vizsgáljuk meg, hogy
a kombinált listában lévő értékek is változnak-e! Ha elégedettek vagyunk az eredménnyel,
váltsunk vissza Tervező nézetre!
Lista
Ha az űrlapon van hely, és azt szeretnénk, hogy a lista mindig jelenjék meg, illetve ha az
adatbejegyzéseket mindig a listában lévő értékekre kívánjuk korlátozni, kombinált lista
helyett inkább listát érdemes használni.
A listára mindaz igaz, amit a kombinált listára elmondtunk, azzal a nem elhanyagolható
különbséggel, hogy a listába új értékeket bevinni nem lehet.
Parancsgomb
Űrlapon művelet vagy műveletsorozat indítására parancsgombot lehet használni. Létre lehet
hozni például olyan parancsgombot, amely megnyit egy másik űrlapot. Ha azt szeretnénk,
hogy a parancsgomb végrehajtson valamit, írjunk meg egy makrót vagy egy eseményvezérelt
eljárást, és ezt adjuk meg a gomb Kattintásra (OnClick) tulajdonságánál.
A Parancsgomb Varázsló segítségével több, mint 30 különböző parancs hozható létre. A
Parancsgomb Varázsló használatakor a Microsoft Access létrehozza a gombot és az
eseményvezérelt eljárást is.
Tulajdonságok
Formátum:
Az Átlátszó (Transparent) tulajdonság segítségével megadható, hogy egy parancsgomb
folytonosan vagy átlátszóan jelenjen meg.
Egyéb:
- Az Alapértelmezett (Default) tulajdonság segítségével adható meg, hogy egy űrlapon egy
parancsgomb az alapgomb legyen-e. Ha a parancsgomb Alapértelmezett tulajdonságának
Igen a beállítása, és az Űrlap az aktív ablak, akkor a parancsgomb az ENTER billentyű
lenyomásával (amennyiben nem más parancsgombon van a fókusz) vagy a billentyűre
kattintva választható ki. Egy űrlapon csak egyetlen parancsgomb lehet alapgomb.
Valamelyik parancsgomb Alapértelmezett tulajdonságának Igen értékűre állítása az űrlap
összes többi parancsgombjának e tulajdonságát automatikusan Nem értékűre állítja.
- A Mégse (Cancel) tulajdonság segítségével állítható be, hogy egy parancsgomb egy űrlap
Mégse gombja legyen-e. Ha a gomb Mégse (Cancel) tulajdonságának Igen a beállítása, és
az Űrlap az aktív ablak, akkor a felhasználó ezt a parancsgombot az ESC billentyű
lenyomásával választhatja, vagy az ENTER billentyű lenyomásával, ha ez a gomb van a
fókuszban, vagy úgy, hogy a gombra kattint.
Informatikai alapismeretek modul Adatbázis-kezelés
142
Létrehozás
Parancsgombot létre lehet hozni önállóan vagy Microsoft Access varázsló segítségével. A
varázsló meggyorsítja a parancsgomb létrehozását, mivel elvégzi az összes alapvető
műveletet.
Nézzünk egy példát! Kattintsunk a Vezérlőelem eszköztár Parancsgomb ( ) ikonjára!
Hozzunk létre egy parancsgombot az űrlapon, oly módon, hogy a bal egérgombbal
rákattintunk a kombinált lista melletti űrlapterületre!
A Parancsgomb varázsló által létrehozandó gombhoz tartozó műveletek kategóriákba vannak
osztva. Ezek:
- Rekordléptetés: Rekordok továbbítása, első-utolsó rekordra ugrás stb.
- Rekordműveletek: rekordok mentése, visszavonása nyomtatása, új beszúrása stb.
- Űrlapműveletek: űrlapok megnyitása, bezárása stb.
- Jelentésműveletek: jelentések megnyitása, bezárása, nyomtatása stb.
- Alkalmazás: külső alkalmazások futtatása.
- Egyéb: lekérdezésekkel, makrókkal kapcsolatos műveletek.
Mi most válasszuk az Űrlapműveletek kategóriát, a műveletek közül pedig az "Űrlap
bezárásá"-t, majd kattintsunk a Tovább gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
143
A következő ablakban állíthatjuk be a gomb megjelenési beállításait: szövegét, a megjelenő
ikont stb. A bal oldali Példa mezőben Kép választása estén a felkínált lehetőségek előképét
nézhetjük meg. Ha ezek nem felelnek meg, a Tallózás gombbal választhatunk új ikont (.ico
kiterjesztésű 32*32-es bitmap kép), de megjeleníthetjük az összes a Microsoft Access által
tárolt ikont is. Mi most a szöveg lehetőséget válasszuk, és írjuk be a gomb feliratának:
"Bezárás". Majd kattintsunk a tovább gombra!
A következő párbeszédpanelen adhatjuk meg a gomb nevét, mellyel pl. Visual Basic kódban
hivatkozhatunk erre a vezérlőelemre. Mi most ne változtassuk meg a felkínált alapértelmezett
lehetőséget, hanem hagyjuk jóvá a Befejezés gombra való kattintással.
Mentsük az Űrlapunkat Próba űrlap néven, majd váltsunk át Űrlap nézetre!
Kattintsunk a Bezárás feliratú gombunkra! Ha mindent jól csináltunk az űrlap bezáródik.
Informatikai alapismeretek modul Adatbázis-kezelés
144
Kép
A kötetlen kép hozzáadásának módja attól függ, hogy az egész ablak hátterét beborító képet
(vízjelet) vagy egy vezérlőelemben megjelenő képet szeretnénk megjeleníteni. Háttérkép
esetén használjuk az űrlap vagy jelentés Kép (Picture) tulajdonságát. Vezérlőelemben
megjelenő kép esetén használjunk kép vezérlőelemet vagy kötetlen objektumkeretet.
Az, hogy kép vezérlőelemet vagy kötetlen objektumkeretet érdemes használni attól függ,
hogy az űrlapból, illetve jelentésből közvetlenül szeretnénk-e szerkeszteni a képet vagy sem.
Ha a képet nem szeretnénk megváltoztatni, a képet kép vezérlőelem segítségével csatoljuk.
Ha a képet frissíteni szeretnénk, használjunk kötetlen objektumkeretet. Ha ezek után
változtatni szeretnénk a képen, kattintsunk duplán az objektumra az űrlapon vagy a
jelentésben, ekkor megnyílik az objektum létrehozásához használt alkalmazás. A kötetlen
képek esetén a legtöbb esetben érdemes kép vezérlőelemet használni, mert sokkal rövidebb
idő alatt betölthető, mint a kötetlen objektumkeret.
A képeket be lehet szúrni egy űrlapba vagy jelentésbe, illetve csatolni lehet őket. Ha űrlapba
vagy a jelentésbe beszúrjuk a képet, akkor a Microsoft Access azt eltárolja az adatbázis-
fájlban. A beszúrt objektum mindig rendelkezésre áll. Ha a képet megváltoztatjuk, a
változtatás az adatbázisban is megjelenik.
Ha ellenben a képet csatoljuk, az űrlapból vagy a jelentésből ugyan meg lehet változtatni azt,
de a változások az eredeti objektumfájlban jelennek meg, nem az adatbázis-fájlban. A képet
külön programból is lehet módosítani, és ezek a változások megjelennek az űrlapon és a
jelentésben. A kép csatolása nagyméretű objektum esetén hasznos, ha nem szeretnénk
belevenni az adatbázisba, valamint olyan kép esetén, amelyet több űrlapon vagy jelentésben is
használunk. Ha a csatolt képet áthelyezzük, a csatolást újra létre kell hozni.
Kötetlen vagy kötött objektumkeret
A kötött objektum egy táblában tárolódik. Ha új rekordra lépünk, az űrlapon vagy jelentésben
megjelenített objektum megváltozik. Például a vállalat minden alkalmazottjának fényképét el
lehet helyezni az adatbázisban. A kötetlen objektumot ezzel szemben az űrlap vagy jelentés
tervezésekor illesztjük be. Ha új rekordra lépünk, az objektum nem változik meg.
Készíthetünk például a Microsoft Paint programban egy emblémát a jelentéshez vagy az
űrlaphoz.
A kötetlen és a kötött objektumot beszúrással vagy csatolással lehet hozzáadni egy űrlaphoz,
illetve egy jelentéshez.
Tulajdonságok
Adat:
- Az OLE osztály (OLEClass) tulajdonság egy diagram vezérlőelemben vagy egy kötetlen
objektumkeretben lévő OLE objektum típusának leírását szolgáltatja.
- Az OLE típus (OLEType) tulajdonság segítségével meghatározható, hogy egy vezérlőelem
tartalmaz-e OLE objektumot, és ha igen, akkor az objektum csatolt vagy beágyazott-e.
- Az Engedélyezett OLE típus (OLETypeAllowed) tulajdonság segítségével megadható,
hogy egy vezérlőelem milyen típusú OLE objektumot tartalmazhat.
- Az Osztály (Class) tulajdonság egy beágyazott OLE objektum osztálynevének megadására
vagy meghatározására használható.
Informatikai alapismeretek modul Adatbázis-kezelés
145
- A Forrásdokumentum (SourceDoc) tulajdonság értéke adja meg a csatolandó vagy
beágyazandó fájlt, amikor Visual Basicben az Action tulajdonság segítségével csatolt vagy
beágyazott objektumot hozunk létre.
- A Forráselem (SourceItem) tulajdonság segítségével egy csatolt OLE objektum
létrehozásakor meghatározhatjuk az egy fájlban lévő csatolandó adatokat.
Egyéb:
- Az Automatikus aktiválás (AutoActivate) tulajdonság segítségével meghatározhatjuk, hogy
a felhasználó hogyan tudjon aktiválni egy OLE objektumot.
- Az Ige (Verb) tulajdonság segítségével azt a műveletet lehet meghatározni, amelynek
végrehajtására egy OLE objektum aktiválásakor kerül sor, amelyet a vezérlőelem Action
tulajdonságának acOLEActivate beállítása tesz lehetővé.
Segédűrlap/Segédjelentés
A segédűrlap egy űrlapon lévő másik űrlap. Az elsődleges űrlap a főűrlap, az azon belüli
űrlap a segédűrlap. Az űrlap/segédűrlap kombinációt gyakran hierarchikus vagy
szülő/gyermek kapcsolatú űrlapnak nevezik.
A segédűrlap különösen akkor hatékony, amikor a táblák és lekérdezések adatait egy-sok
kapcsolattal szeretnénk megjeleníteni. Készíthetünk például segédűrlappal rendelkező űrlapot
a Kategóriák tábla és a Termékek tábla adatainak megjelenítésére. A Kategóriák tábla adatai
képviselik a kapcsolat "egy" oldalát, a Termékek tábla adatai pedig a "több" oldalt - minden
kategóriához több termék is tartozhat.
A főűrlap és a segédűrlap oly módon vannak összekapcsolva, hogy a segédűrlap csak a
főűrlap aktuális rekordjához tartozó rekordokat mutatja. Amikor például a főűrlap aktuális
rekordja az Italok kategória, a segédűrlap csak az Italok kategóriához tartozó termékeket
jeleníti meg.
Amikor segédűrlappal rendelkező űrlapot használunk új rekordok felvételére, a Microsoft
Access menti a főűrlap aktuális rekordját a segédűrlapra való belépéskor. Ez biztosítja, hogy a
kapcsolat "sok" oldali táblájának összes rekordjához tartozik egy megfelelő rekord az "egy"
oldali táblában. Ahogy egy rekordot a segédűrlaphoz fűzünk, az is automatikusan mentésre
kerül.
A főűrlaphoz akármennyi segédűrlap tartozhat, sőt kétszintű segédűrlapos szerkezetet is létre
lehet hozni. Ez azt jelenti, hogy lehet egy segédűrlap a főűrlapon belül, és lehet egy másik
segédűrlap az előző segédűrlapon belül is. Lehet például egy vevőket mutató főűrlap, egy
megrendeléseket megjelenítő segédűrlap, valamint egy másik segédűrlap, amely a
megrendelésekkel kapcsolatos egyéb részleteket tartalmazza.
Vonal, téglalap
Ezekkel a vezérlőelemekkel a megadott objektumokat helyezhetjük el az űrlapon. A vonal sok
esetben elválasztóként szerepel egy űrlapon megjelenítendő, különböző adatok között. A
téglalapot gyakran használjuk más vezérlőelem vizuális csoportba foglalására.
Tulajdonságok
A Vonaldőlés (LineSlant) tulajdonság segítségével megadható, hogy egy vonal vezérlőelem
balra fentről jobbra lefelé, vagy jobbra fentről balra lefelé dőljön.
Informatikai alapismeretek modul Adatbázis-kezelés
146
Karton vezérlőelem
A karton vezérlőelemek segítségével többoldalnyi információt egy csoportban lehet
megjeleníteni. Ez különösen akkor hasznos, ha sok olyan vezérlőelem van az űrlapon,
amelyek több kategóriába sorolhatók. Az Alkalmazottak űrlapon például karton vezérlőelem
segítségével lehet elkülöníteni az általános és a személyes információkat.
Tulajdonságok
- A Többsoros (MultiRow) tulajdonság segítségével megadható vagy meghatározható, hogy
egy karton vezérlőelem egynél több kartonsort jeleníthet-e meg.
- A Stílus (Style) tulajdonság segítségével megadhatjuk vagy meghatározhatjuk a lapok
megjelenését egy karton vezérlőelemen.
- A Rögzített magasságú karton (TabFixedHeight) és a Rögzített szélességű karton
(TabFixedWidth) tulajdonság segítségével megadható vagy meghatározható egy karton
vezérlőelemen lévő kartonlapok magassága és szélessége.
Informatikai alapismeretek modul Adatbázis-kezelés
147
10. fejezet
Jelentések
A jelentések segítségével tetszetős nyomtatott formát lehet adni az adatoknak. A jelentésen
belül mindennek megadhatjuk a méretét és a megjelenési formáját, így az információt abban a
formában lehet megjeleníteni, ahogyan azt a végleges formában, nyomtatásban látni
szeretnénk. A jelentés információtartalmának legnagyobb része a jelentés adatainak alapját
képező alaptáblákból, lekérdezésekből és SQL utasításokból származik. Az információ többi
része magában a jelentésben található.
Jelentések részei
A jelentések tartalmát szakaszokra lehet bontani. Minden szakasznak külön feladata van, és a
lapon, illetve a jelentésben mindig adott helyen jelennek meg. Tervező nézetben a jelentés
minden szakaszát egy sáv jelöli. A jelentés nyomtatott formájában az egyes szakaszok
többször is előfordulhatnak. Vezérlőelemek (címkék, beviteli mezők stb.) segítségével lehet
meghatározni az információ egyes részeinek elhelyezkedését a szakaszokon belül. A közös
értékeket használó rekordok csoportosítása által részösszesítéseket készíthetünk, ezáltal a
jelentés áttekinthetőbbé válik. Egy jelentésben legfeljebb 10 mező vagy kifejezés alapján
lehet csoportosítani a rekordokat.
Jelentések szakaszai
- Jelentésfej/láb: A jelentésfej csak egyszer, a jelentés elején jelenik meg. Emblémák,
címek, nyomtatási dátumok és egyéb hasonló elemek megjelenítésére használható. A
jelentésfej nyomtatásban a jelentés első oldalán, az oldalfej előtt jelenik meg. A jelentésláb
csak egyszer, a jelentés végén jelenik meg. Olyan elemek megjelenítésére szokás
használni, mint az összesítések stb. A jelentésláb a jelentés utolsó része, de nyomtatásban
az utolsó oldalon, az oldalláb előtt jelenik meg.
- Oldalfej/láb: A jelentésfej a jelentés oldalainak tetején jelenik meg. Olyan elemek
megjelenítésére használatos, mint például az oszlopfej. Az oldalláb a jelentés oldalainak
alján jelenik meg. Olyan elemek megjelenítésére használatos, mint például a lapszám.
Informatikai alapismeretek modul Adatbázis-kezelés
148
- Törzs: A jelentés törzse tartalmazza az információ legfőbb részét. Ez a szakasz a jelentés
alapjául szolgáló rekordforrás minden rekordjához megismétlődik.
- Csoportfej/láb: A csoportfejek a rekordcsoportok elején találhatók. Segítségükkel a csoport
egészére vonatkozó információkat lehet megjeleníteni, például a csoport nevét. A
csoportláb a rekordcsoport végén található. Olyan elemek megjelenítésére használható,
mint például a csoportösszesítés.
Jelentések használata
Nyomtatási kép
A jelentéseknek három nézete van: Tervező nézet, Jelentés nézet és Nyomtatási kép nézet. Ha
egy jelentésre a Navigációs panelen kettőt kattintunk, akkor annak a nyomtatási kép nézete
jelenik meg, ahonnan úgy tudunk másik nézetre váltani, ha a jelentésen jobbegér gombot
kattintva a gyorsmenüből váltunk. Ezek után a nézetek közötti váltáshoz kattintsunk a
szalagmenü eszköztár Nézet gombjára.
Ha a Navigációs ablakban valamelyik jelentésen jobbegér gombot kattintunk, akkor a
megjelenő gyorsmenüből is választhatunk a megnyitási módok között.
A Northwind adatbázis Navigációs ablakában válasszuk a Jelentés lehetőséget, majd nyissuk
meg a Termékek kategóriánként jelentést Nyomtatási kép nézetben!
Informatikai alapismeretek modul Adatbázis-kezelés
149
Mint az előbbi képen is látható, a jelentés ablak is tartalmaz rekordléptető gombsort, mely
többoldalas jelentések esetében az oldalak közötti váltásra használható. A Nyomtatási kép
általános lehetőségei megegyeznek, a más alkalmazásokban tanultakkal. A Nyomtatási kép
ellenőrzése után, a jelentés kinyomtatásra kerülhet.
Tervező
Kattintsunk jobbegér gombot a jelentésen, majd váltsunk a Tervező nézetre! A jelentés
létrehozására, és elrendezésének, megjelenésének módosítására a Tervező nézet szolgál,
amely gyakorlatilag úgy működik, mint az űrlapok hasonló nevű nézete.
Ugyanazokat a vezérlőelemeket és technikákat használhatjuk, mint az űrlapok esetében
(ésszerű módon, pl. egy kinyomtatásra kerülő dokumentum esetében nyomógombok
elhelyezésének nincs sok haszna). Ha megtekintettük az egyezőségeket (és a különbségeket)
az űrlapok hasonló nézetével, zárjuk be a jelentést!
Tulajdonságok (a fontosabbak)
Formátum
- Az Oldalfej (PageHeader) és az Oldalláb (PageFooter) tulajdonságok segítségével
meghatározhatjuk, hogy egy jelentés oldalfeje, illetve oldallába ugyanarra az oldalra
kerüljön-e a nyomtatás során, mint a jelentésfej vagy a jelentésláb. Előfordulhat például,
hogy a jelentés első oldalára nem akarunk oldalszámot tartalmazó oldalfejet nyomtatni
abban az esetben, ha a jelentésfej a fedőlap.
- A Csoport együtt tartás (GrpKeepTogether) tulajdonsággal adható meg, hogy egy
többoszlopos jelentés azon csoportjai, amelyek Együtt tartás (KeepTogether)
tulajdonságának értéke Egész csoport vagy Törzs elején, egy oldalon vagy egy oszlopon
belül jelenjenek meg. Az Együtt tartás (KeepTogether) tulajdonság segítségével adhatjuk
meg, hogy egy jelentésben egy csoport részei – a csoportfej, a törzsszakasz és a
csoportláb – együtt tarthatók ugyanazon az oldalon. Előfordulhat például, hogy azt
szeretnénk, hogy a csoport fejléce mindig a törzsszakasz elejével azonos oldalon legyen
kinyomtatva.
Informatikai alapismeretek modul Adatbázis-kezelés
150
Esemény
- A Ha nincs adat (NoData) esemény azután következik be, hogy a Microsoft Access egy
olyan jelentést formáz meg nyomtatásra, amelyhez nem tartozik adat (a jelentés üres
rekordkészlethez van kötve), még mielőtt a jelentés nyomtatásra kerülne. Az esemény
segítségével megakadályozhatjuk az üres jelentések kinyomtatását.
- Az Oldalra (Page) esemény azután következik be, hogy a Microsoft Access a jelentés egy
oldalát megformázza, de még azelőtt, hogy az oldal nyomtatásra kerülne. Az eseményt
oldalkeret rajzolására, vagy más grafikus elemek beszúrására használhatjuk fel.
Egyéb
- A Dátumcsoportosítás (DateGrouping) tulajdonság segítségével megadható a dátumok
csoportosítása egy jelentésben. A Magyar alapértelmezés beállítás például azt
eredményezi, hogy a hét hétfővel kezdődik. Ha egy Dátum/Idő mező Csoportosítás
(GroupOn) tulajdonságának értéke Hét, akkor a jelentés a dátumokat hétfőtől vasárnapig
csoportosítja.
- A Gyors lézernyomtatás (FastLaserPrinting) tulajdonság segítségével meghatározhatjuk,
hogy űrlapok és jelentések nyomtatásakor a vonalakat és téglalapokat helyettesítsék-e
szöveges karaktereksorok (az aláhúzáshoz (_) és a függőleges vonalhoz (|) hasonló
karakterek) lézernyomtató használata esetén. Ha a vonalak és téglalapok helyett szöveges
karaktersorokat használunk, akkor ezzel lényegesen felgyorsíthatjuk a nyomtatás
folyamatát.
Jelentések létrehozása
Jelentés létrehozása (AutoJelentés)
Az AutoJelentés olyan jelentést hoz létre, amely az alapul szolgáló tábla, illetve lekérdezés
valamennyi mezőjét tartalmazza.
A nyitott tábla vagy lekérdezés, illetve a Navigációs ablakban kijelölt tábla vagy lekérdezés
alapján lehet egyoszlopos jelentést létrehozni. Kattintsunk a Létrehozás szalagmenü Jelentés
parancsára. Azok a jelentések, amelyek ezzel a módszerrel készülnek, csak törzsrekordokat
tartalmaznak (nincs sem jelentésfej, sem oldalfej, sem lábjegyzet). A Microsoft Access a
jelentéshez utoljára alkalmazott automatikus formátumot használja. Ha előzőleg nem hoztunk
létre jelentést varázslóval, akkor a Microsoft Access a Szabványos automatikus formátumot
használja.
Varázslóval
Természetesen lehetőségünk van befolyásolni az Jelentés kinézetét, ha varázslót használunk.
A Northwind adatbázis Létrehozás szalagmenüjén válasszuk a Jelentésvarázsló lehetőséget.
Informatikai alapismeretek modul Adatbázis-kezelés
151
Nyissuk le a Táblák/Lekérdezések listát, majd kattintsunk a jelentés alapjául használni kívánt
táblára vagy lekérdezésre, jelen esetben az Alkalmazottakra. Mindegyik mezőt vigyük át a
jobb oldalra (>>). A következő ablakokon lépjünk tovább. Csak a tájolást állítsuk be fekvőre,
majd adjuk neki az Alkalmazottak nevet. Ha mindent beállítottunk kattintsunk a Befejezés
gombra.
Ellenőrzés után zárjuk be a létrehozott jelentést, majd töröljük az adatbázisból.
A varázsló használata meggyorsítja a jelentés létrehozásának műveletét, mivel a varázsló az
alapvető feladatokat elvégzi a felhasználó helyett. Amikor Jelentés Varázslót használunk, a
varázsló a feltett kérdésekre adott válaszok alapján hozza létre a jelentést. Még gyakorlott
felhasználóknak is tanácsolható, hogy a jelentések gyors létrehozásához vegyék igénybe a
Jelentés Varázslót. A varázsló segítségével egyszerűen és gyorsan létrehozott jelentést azután
Tervező nézetben még mindig lehet módosítani.
A Northwind adatbázis Létrehozás szalagmenüjén válasszuk a Jelentésvarázsló lehetőséget.
Informatikai alapismeretek modul Adatbázis-kezelés
152
Az első párbeszédablakban a lekérdezéseknél és az űrlapoknál megszokott módon
beállíthatjuk a jelentés rekordforrását, ill. azon mezőket, melyeket a jelentésben szerepeltetni
szeretnénk. Válasszuk a Termékek Táblát, és vegyük fel a következő mezőket:
- Termékkód
- Terméknév
- Mennyiség egységenként
- Egységár
- Raktáron
- Minimum készlet
A mezők felvétele után kattintsunk a Tovább gombra!
A második párbeszédablakban végezhetjük el az adatok csoportosítását, a csoportszintek
számát. A csoportszint a jelentésekben a csoportok egymásba ágyazottságának mértéke. Két
csoport akkor van egymásba ágyazva, ha egy rekordhalmaz több rekord vagy kifejezés
alapján van csoportba rendezve. Az első mező, amely alapján sorba rendezünk vagy
csoportosítunk, a 0. szint és így tovább maximum 10 csoportszintig. Más adatbázis-kezelő
rendszerekben a csoportszintet néha törésszintnek hívják.
Jelen példánk esetében csoportszintek létrehozásának nincs különösebb értelme, hiszen
nincsenek olyan adatok a jelentésben, melyek egy-sok kapcsolattal kapcsolódnának
egymáshoz. Hozzunk létre azonban mégis egy csoportszintet, hogy a jelentés látványa
áttekinthetőbbé váljon.
Informatikai alapismeretek modul Adatbázis-kezelés
153
Válasszuk ki a listából a Termékkód mezőt, majd kattintsunk a Felvétel (>) gombra! Ezután a
Tovább gombra kattintva a jelentés létrehozása folytatható.
A harmadik párbeszédablakban állíthatjuk be a rekordok rendezését! Csak a törzsrekordok
rendezhetők, ez azt jelenti, hogy azon mezők szerint, melyeket csoportszintként megjelöltünk,
itt nem állíthatunk be rendezést. Ezen mezők alapján a Microsoft Access automatikusan
rendezést végez. Mi most nem állítunk be rendezést, mivel nincsenek egy-sok kapcsolatban
álló adataink, így minden adat a Termékkód sorrendje alapján jelenik meg.
A párbeszédablak alján találjuk az Összesítési beállítások lehetőséget. Kattintsunk erre a
gombra!
A lekérdezések készítése során találkozhattunk már egy ehhez hasonló ablakkal. Itt adhatjuk
meg, hogy a jelentés mely mezőire számoljon ki valamilyen rész- vagy végösszeget ill.
statisztikai adatot a Microsoft Access. Jelöljük be a Össz jelölőnégyzetet az Egységár és a
Raktáron mezőknél, valamint az "Összegek százalékának számítása" lehetőséget, majd
fogadjuk el az OK gombbal! Menjünk Tovább!
Informatikai alapismeretek modul Adatbázis-kezelés
154
A negyedik párbeszédablakban határozhatjuk meg az adatok elrendezését a jelentésen.
Válasszuk ki:
- az elrendezésből a "Vázlat"
- a tájolásból az álló
- valamint a "Mezőszélesség állítása…" lehetőséget
Ha ezeket kiválasztottuk, kattintsunk a Tovább gombra!
Az ötödik párbeszédablakban választhatjuk meg a jelentés stílusát, formai jellemzőit. Nézzük
végig a lehetőségeket, válasszuk az "Iroda" lehetőséget, végül kattintsunk a Tovább gombra.
Informatikai alapismeretek modul Adatbázis-kezelés
155
Az utolsó párbeszédablakon, a szokott módon, a varázslóval létrehozott objektum (jelentés)
nevét és megnyitásának módját kell megadni. Adjuk jelentésünknek a "Termékek Jelentés"
nevet, és válasszuk megnyitási módnak a "Jelentés nyomtatási képe" lehetőséget! A jelentés
létrehozásához kattintsunk a Befejezés gombra!
Tekintsük meg a létrejött jelentésünket, próbáljuk meg felismerni a csoportszinteket, az
összesítéseket. A jelentés utolsó oldalán megtaláljuk a végösszeget, ellenőrizzük hogy helyes-
e! Ha mindent rendben találtunk, zárjuk be a jelentést! Amennyiben a jelentésben, mint most
is, ###### jelek jelennek meg, az azt jelenti, hogy a beviteli mező szélessége nem engedi az
adatokat megjeleníteni, mert nem látszana a teljes adat. Ezt tervező nézetben ki tudjuk
javítani.
Tervező nézetben
A Northwind adatbázis Létrehozás szalagmenüjén válasszuk a Jelentéstervező lehetőséget. Ha
olyan jelentést szeretnénk létrehozni, amely egynél több táblából használ adatokat, akkor a
jelentést egy olyan lekérdezés alapján kell létrehozni, amely tartalmazza a használni kívánt
táblákat. A Microsoft Access egy üres a Tervező nézetben megjelenített Jelentés ablakot nyit.
Informatikai alapismeretek modul Adatbázis-kezelés
156
A jelentésen jobb egérgombot kattintva egy üres részen, kapcsoljuk be megjelenő
gyorsmenüben a Jelentésfej/Jelentésláb lehetőséget. Az oldalfejet tegyük 0 cm magasságúvá!
A többit pedig állítsuk 2 cm-re!
Kérjük ki a jelentés tulajdonságlapját, majd az Adat fül Rekordforrás beállításánál kérjük a
Lekérdezés-szerkesztő ( ) segítségét. A már jól ismert Lekérdezés szerkesztő ablak nyílik
meg! Válasszuk ki a Kategóriák és a Termékek táblát a "Tábla hozzáadása"
párbeszédpanelről, majd vegyük fel a következő mezőket:
- Kategórianév
- Terméknév
- Egységár
- Raktáron
Ha most a bezárás gombra kattintunk, a Microsoft Access egy kérdést tesz fel:
Kattintsunk az Igen gombra! A Rekordforrás mezőbe beíródik a következő lekérdezés
utasítás:
SELECT Kategóriák.Kategórianév, Termékek.Terméknév,
Termékek.Egységár, Termékek.Raktáron
FROM Kategóriák INNER JOIN Termékek
ON Kategóriák.Kategóriakód = Termékek.Kategóriakód;
Zárjuk be a Tulajdonságlapot! A tervezés szalagmenün kattintsunk a Mezők felvétele gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
157
Mint látható, a lekérdezés által visszaadott mezők szerepelnek a megnyíló ablakban. Jelöljük
ki mind, majd húzzuk a jelentés Törzs szakaszába! Ezután bezárhatjuk a mezőlistát!
A jelentésünkön szereplő adatok között egy-sok kapcsolat van, hiszen egy Kategóriába több
termék is tartozhat. Csoportszint beállítással tehetjük áttekinthetővé a jelentésen szereplő
adatokat és a köztük lévő viszonyokat. Kattintsunk a Tervezés szalagmenü" Csoportosítás és
rendezés "gombra! Majd az alul megjelenőlehetőségek közül válasszuk a csoportosítást.
Az alul megjelenő párbeszédablakban állíthatjuk be a csoportszinteket. Válasszuk ki a
Mező/kifejezések közül a Kategórianév mezőt. A Rendezési sorrend maradjon betűrendben
értékű.
A Csoporttulajdonságok jelentése a következő:
- Fejlécszakasszal/nélkül: Csoportfej hozzáadása vagy eltávolítása a mezőnél vagy
kifejezésnél.
- Láblécszakasszal/nélkül: Csoportláb hozzáadása vagy eltávolítása a mezőnél vagy
kifejezésnél.
- Csoportosítás: Az értékek csoportosítását határozza meg. A megjelenő lehetőségek attól
függnek, hogy milyen az adott mező adattípusa. Ha egy kifejezésben csoportosítunk, az
összes adattípus összes lehetősége megjelenik.
Informatikai alapismeretek modul Adatbázis-kezelés
158
- Csoportintervallum: A csoportosítás alapját képező mező vagy kifejezés értékeinek
érvényes tartományát határozza meg.
- Együtt tartás: Meghatározza, hogy a Microsoft Access a teljes csoportot vagy annak csak
egy részét nyomtassa egy oldalra.
A beállítások legyenek a fentebbi ábrának megfelelőek! A Tervező nézetben megjelenik egy
új szakasz a Kategórianév-fejléc. Húzzuk át a Kategórianév mezőt a címkéjével együtt, ebbe
az újonnan létrejött szakaszba, majd formázzuk meg az alább látható képnek megfelelően.
Ahhoz, hogy a beviteli mezőkhöz tartozó címkék ne jelenjenek meg, minden rekordban, csak
a rekordcsoport elején egyszer ezeket is át kell vinni, a csoport-fejlécbe. A címkéket nem
tudjuk egyszerűen áthúzni, a kivágás-beillesztés módszerhez kell folyamodni.
Formázzuk meg a jelentést a fenti ábrának megfelelően! Vegyünk fel a jelentésfejbe egy
címkét "Kategóriák termékei" felirattal, majd ugyanilyen néven mentsük a jelentést!
Informatikai alapismeretek modul Adatbázis-kezelés
159
Vegyünk fel egy új beviteli mezőt a Törzs szakaszba. Kérjük ki a tulajdonságlapját, úgy, hogy
jobbegér gombot kattintunk rajta, majd az adat fülön a Mező vagy kifejezés cellára hívjuk
meg a Kifejezés szerkesztőt.
Vegyük fel a már ismert módon az
=[Egységár] * [Raktáron]
kifejezést, majd az OK gombbal fogadjuk el a változtatásokat. Jelentés esetében, akárcsak az
Excel táblázatkezelő használatánál, a kifejezéseket egyenlőségjellel (=) kell kezdeni, ( a
Kifejezés szerkesztő ezt automatikusan beírja). Az újonnan létrejött beviteli mező címkéjének
felirata legyen "Raktárérték", majd azt is vigyük a csoport-fejlécbe (ehhez egy kicsit meg kell
növelni a jelentés szélességét)!
Az előbbi képen láthatjuk a létrehozandó formázási jellemzőket. Hozzunk létre a
Jelentéslábba egy új beviteli mezőt, mely a végösszeget fogja tartalmazni!
Informatikai alapismeretek modul Adatbázis-kezelés
160
A címke felirata legyen „Végösszeg”, a beviteli mező Mező vagy kifejezés tulajdonságának
értéke pedig:
=Sum([Egységár]*[Raktáron])
Mint bizonyára észrevettük ez a kifejezés nagyon hasonlít a Törzsben lévő kifejezéshez,
azonban a Sum függvény használata miatt ez összesítést végez. Az összesítő függvény
működése függ attól, hogy melyik jelentésszakaszban található a művelet. Ha
csoportláblécben használjuk, úgy a csoportszinthez tartozó rekordokat összesíti, ha a
Jelentéslábban (mint itt is), úgy a teljes rekordhalmazra végzi az összesítést.
Ha egy összesítő függvény (például Sum) segítségével számítunk ki egy összeget, akkor a
Sum függvényben nem használhatjuk a számított vezérlőelem nevét. A kifejezést meg kell
ismételni a számított vezérlőelemben. Ha azonban az alaplekérdezésben számított mező
szerepel (pl. Ár: [Mennyiség]*[Egységár]), akkor a mező neve használható a Sum
függvényben (Sum([Ár])).
Formázzuk meg a beviteli mezőt a fenti képnek megfelelően, majd kattintsunk a szalagmenün
a vezérlőelemeknél az Oldalszámok parancsra.
Informatikai alapismeretek modul Adatbázis-kezelés
161
Az Oldalszámok szerepe az űrlapon vagy jelentésben az oldalszám-kifejezés megjelenítése,
beviteli mező vezérlőelemben. Beállíthatjuk az oldalszám formátumát, helyét, igazítását, és
megadhatjuk, hogy megjelenjen-e az oldalszám az első oldalon is. Állítsuk be a
párbeszédablakon a lehetőségeket a fenti képnek megfelelően, majd kattintsunk az OK
gombra! Az Oldallábban megjelenő beviteli mezőt vigyük a jelentés bal szélére. Kattintsunk a
Beszúrás menü "Dátum és idő…" parancsára.
A Dátum és idő szerepe az űrlapon vagy jelentésben a dátum- és időkifejezés megjelenítése
beviteli mező vezérlőelemben. Beállíthatjuk a dátum és idő formátumát, valamint azt is, hogy
a kettő közül csak az egyik jelenjen meg. Állítsuk be a párbeszédablakon a lehetőségeket a
fenti képnek megfelelően, majd kattintsunk az OK gombra! A Dátum és idő beviteli mező a
Jelentésfejben jelenik meg, húzzuk át az Oldallábba. Vigyük a jelentésünk jobb szélére, és az
igazítását is állítsuk át "jobbra igazított"-ra!
Ellenőrizzük, hogy minden a fenti ábrának megfelelő-e. Ha igen, mentsük a jelentést, majd a
Nézet gomb használatával menjünk át Nyomtatási kép nézetbe!
Informatikai alapismeretek modul Adatbázis-kezelés
162
Ellenőrizzük az eredményt, különös tekintettel az utolsó oldalon megjelenő végösszeg
mezőre! Ha mindent rendben lévőnek találunk a jelentést bezárhatjuk.
Paraméteres lekérdezésre építve
A paraméteres lekérdezések jelentések alapjául is könnyen felhasználhatók. Készíthetünk
például egy jelentést paraméteres lekérdezésre építve, oly módon, hogy a jelentés
nyomtatásakor a Microsoft Access egy párbeszédpanelen megkérdezi, hogy milyen adat
alapján szeretnénk a jelentést elkészíteni. Csak adatot kell megadni, és a Microsoft Access
kinyomtatja a hozzá tartozó jelentést.
Jelöljük ki a Navigációs ablakban a lekérdezések közül a Termékek paraméter szerint
lekérdezésünket. A Létrehozás szalagmenün válasszuk a Jelentés lehetőséget. A Microsoft
Access létrehozza a jelentést és megnyitja azt. Ekkor a már jól ismert párbeszédablakot
kapjuk:
Itt adjunk meg egy kezdőbetűt, pl. a "C"-t. Az eredményen jól látható, hogy mivel a
lekérdezésben is csak a megadott paraméter szerint jelennek meg az adatok, nincs ez másként
a jelentéssel sem. Váltsunk Nyomtatási képre, majd tekintsük meg a munkánkat. Mentsük a
jelentést a lekérdezéssel azonos néven, majd zárjuk be!
Informatikai alapismeretek modul Adatbázis-kezelés
163
11. fejezet
Makrók
A makró egy olyan egy vagy több műveletet tartalmazó készlet, melynek műveletei
meghatározott feladatokat látnak el, mint például egy űrlap megnyitása vagy egy jelentés
nyomtatása. A makrók segítségével automatikusan hajthatunk végre gyakran előforduló
feladatokat. Futtathatunk például olyan makrót, amely egy jelentést nyomtat ki, ha a
felhasználó a parancsgombra kattint. A makró lehet műveletek sorozatát tartalmazó makró
illetve makrócsoport is. Ezen kívül használhatunk feltételes kifejezést is, amely a makró
futtatása közben dönti el, hogy mely esetekben kell végrehajtani egy bizonyos műveletet.
Az adatbázis első megnyitásakor egy művelet vagy műveletsorozat végrehajtásához
használható egy AutoExec nevű, speciális makró. Amikor megnyitjuk az adatbázist, a
Microsoft Access egy ilyen nevű makrót keres, és ha azt megtalálja, automatikusan futtatja is.
A Microsoft Access programban sok feladatot el lehet végezni makrókkal vagy a felhasználói
felületen keresztül. Sok más adatbázis-kezelő programban ugyanezek a feladatok
programozást igényelnek, ezt a lehetőséget a Microsoft Access is felkínálja a VBA
használatával. Az, hogy makrót vagy Visual Basic kódot érdemes használni, gyakran attól
függ, hogy mit szeretnénk tenni. A makrók használata kényelmes módszer az egyszerű
műveletek elvégzésére, ilyen például az űrlapok megnyitása és bezárása, eszköztárak
megjelenítése és elrejtése vagy jelentések futtatása. Gyorsan és könnyen lehet a létrehozott
adatbázis-objektumokat összekötni, mivel csak kevés szintaktikai adatra kell emlékezni, az
egyes műveletek argumentumai a Makró ablak alsó részében megjelennek.
Makró helyett érdemes Visual Basic kódot használni a következő esetekben:
- Az adatbázis kezelhetőségének növelése. Mivel a makrók az azokat használó űrlapoktól és
jelentésektől különálló objektumok, az űrlapon és jelentésen bekövetkező számos
eseményre válaszoló makrót nehéz áttekinteni. Ezzel ellentétben a Visual Basic
eseményvezérelt eljárásai beépülnek az űrlap vagy a jelentés definíciójába. Ha egy űrlapot
vagy jelentést az egyik adatbázisból áthelyezünk egy másikba, akkor az eseményvezérelt
eljárás az illető űrlappal vagy jelentéssel együtt áthelyeződik.
- Saját függvények létrehozása. A Microsoft Access sok beépített függvényt tartalmaz, ilyen
például az IPmt függvény, amely kamatot számít. Ezeket a függvényeket számítások
végrehajtására lehet használni, anélkül hogy bonyolult kifejezéseket kellene létrehozni. A
Visual Basic használatával olyan saját függvényeket is létre lehet hozni, amelyek egy
kifejezés lehetőségeit meghaladó számításokat hajtanak végre, vagy összetett kifejezéseket
helyettesítenek. Ezen túlmenően a létrehozott függvényeket használhatjuk kifejezésekben
több objektumot érintő általános művelet végrehajtására is.
- Hibaüzenetek maszkolása. Ha valamilyen nem várt dolog történik, miközben a felhasználó
az adatbázissal dolgozik, és a Microsoft Access hibaüzenetet jelenít meg, az üzenet a
felhasználó számára teljesen érthetetlen is lehet, különösen akkor, ha a felhasználó nem
járatos a Microsoft Access programban. A Visual Basic használatával a hibát annak
bekövetkezésekor érzékelni lehet, és megjeleníthetünk saját üzenetet, vagy
elvégeztethetünk bizonyos műveletet.
- Objektumok létrehozása vagy kezelése. A legtöbb esetben célszerű egy objektumot annak
Tervező nézetében létrehozni vagy módosítani. Bizonyos körülmények között azonban
előfordulhat, hogy egy objektum definícióját kódban szeretnénk kezelni. A Visual Basic
használatával egy adatbázis összes objektumát kezelni lehet, sőt magát az adatbázist is.
Informatikai alapismeretek modul Adatbázis-kezelés
164
- Rendszerszintű műveletek végrehajtása. Ha egy alkalmazásból másik Windows vagy MS-
DOS alapú alkalmazást szeretnénk futtatni, ezt makróban végre lehet hajtani az
AlkalmazásFuttatása művelettel, de a Microsoft Access programon kívül nem sok másra
lehet makrót használni. A Visual Basic használatával ellenőrizhetjük, hogy a rendszeren
létezik-e egy fájl, más Windows alapú alkalmazásokkal (például a Microsoft Excel) való
kommunikációhoz használható az Automatizáció vagy a DDE, és függvényeket hívhatunk
meg Windows rendszerű dinamikus csatolású függvénytárakból (dll fájlokból).
- Rekordok egyenként történő kezelése. A Visual Basic használható rekordhalmazban
rekordonkénti továbbléptetéshez és minden egyes rekordon egy művelet végrehajtásához.
Ezzel ellentétben a makrók egyszerre csak egy teljes rekordhalmazzal működnek.
- Argumentumok átadása Visual Basic eljárásnak. A makróműveletek argumentumait a
Makró ablak alsó részében lehet beállítani a makró létrehozásakor, de azokat a makró
futtatásakor nem lehet módosítani. A Visual Basic használatával azonban argumentumokat
lehet átadni a kódnak a futás során, vagy az argumentumokhoz változókat lehet használni,
makrókban ezt sem lehet megtenni. Ez rendkívül nagy rugalmasságot biztosít a Visual
Basic eljárások futtatása során.
Makrónézetek
A makróknak két "nézete" van: a Futattás, mely használatával a makró elindítható, ill. a
Makrótervező, mely a makrók létrehozásában nyújt segítséget.
Makróműveletek
- Ábra megnyitása: egy ábra megnyitása nyomtatási kép nézetben.
- Az AdatbázisÁtvitele művelettel adatokat importálhatunk és exportálhatunk az aktuális
Microsoft Access adatbázis és más adatbázis között. Az aktuális Microsoft Access
adatbázishoz csatolható is egy tábla másik adatbázisból. Ha csatolunk egy táblát, akkor
hozzáférhetünk a táblában lévő adatokhoz, miközben maga a tábla a másik adatbázisban
marad.
- Az AlkalmazásFuttatása művelet segítségével futtathatunk Windows- vagy MS-DOS-
alapú alkalmazást, mint amilyen a Microsoft Excel, Microsoft Word vagy Microsoft
PowerPoint a Microsoft Accessből. Így például Microsoft Excel táblázatból adatokat
illeszthetünk Microsoft Access adatbázisba.
- Az ÁthelyezésÁtméretezés művelet segítségével áthelyezhetjük vagy átméretezhetjük az
aktív ablakot.
- Az Átnevezés művelet segítségével átnevezhetünk egy adott adatbázis-objektumot.
- A Bezárás művelettel vagy egy adott Microsoft Access ablakot, vagy – ha nincs ablak
megadva – az aktív ablakot zárhatjuk be.
- A Billentyűküldés művelet segítségével közvetlenül küldhetünk billentyűleütést a
Microsoft Access vagy aktív Windows-alapú alkalmazás részére.
- Az ElőzőMéret művelet segítségével a teljes méretűvé vagy kisméretűvé tett ablakot
visszaállíthatjuk előző méretére.
- Az Értékbeállítás művelet segítségével beállíthatjuk Microsoft Access űrlap, űrlap
adatlapja vagy jelentés mezőjének, vezérlőelemének vagy tulajdonságának értékét.
- Az EseményMegszakítása művelet segítségével leállíthatjuk azt az eseményt, amelyik
miatt a Microsoft Access futtatni kezdte a műveletet tartalmazó makrót. A makró neve egy
eseménytulajdonság valamelyik beállítása, mint például FrissítésElőtt (BeforeUpdate),
Megnyitáskor (OnOpen), Kiürítésre (OnUnload) vagy Nyomtatásra (OnPrint).
- Az EszköztárMegjelenítése művelettel megjeleníthetünk vagy elrejthetünk egy beépített
eszköztárat vagy egyedi eszköztárat. Beépített eszköztár a Microsoft Access valamennyi
Informatikai alapismeretek modul Adatbázis-kezelés
165
ablakában megjeleníthető, vagy csak abban a nézetben, amelyikben az eszköztár normál
esetben megjelenik (pl. az Űrlap nézet eszköztár az Űrlap nézetben).
- A FigyelmeztetésBeállítása művelet segítségével be- vagy kikapcsolhatjuk a rendszer
üzeneteit. Ennek a műveletnek a segítségével megakadályozható, hogy a modális
figyelmeztetések és üzenetek megállítsák a makrót. A hibaüzenetek viszont mindig
megjelennek. Ezen kívül a Microsoft Access megjelenít minden olyan párbeszédpanelt is,
amely más bevitelt is vár, mint csak egy gomb (OK, Mégse, Igen vagy Nem) választását —
például minden olyan párbeszédpanelt, amelybe szöveget kell beírni, vagy amelyen több
lehetőség közül kell választani.
- A Hangjelzés művelet segítségével sípoló hangot állíthatunk elő a számítógép
hangszóróján keresztül.
- A Homokóra művelet segítségével homokóra alakú ikonná alakíthatjuk át az egér
mutatóját (vagy bármely, általunk választott alakúra), amíg fut egy makró. Ezzel a
művelettel vizuálisan is érzékeltethetjük, hogy fut a makró. Ez különösen akkor hasznos,
ha egy makróművelet vagy maga a makró hosszan fut.
- A JelentésMegnyitása művelet segítségével jelentést nyithatunk meg Tervező nézetben
vagy Nyomtatási kép nézetben, vagy közvetlenül ki is nyomtathatjuk a jelentést. A
jelentésben kinyomtatandó rekordokat be is határolhatjuk.
- A Kilépés művelet segítségével kiléphetünk a Microsoft Access programból. A Kilépés
művelet meghatározza, hogy az adatbázis-objektumok miképp kerüljenek mentésre a
Microsoft Accessből való kilépés előtt.
- Az Exportálás művelet a megadott Microsoft Access adatbázis-objektumban (adatlap,
űrlap, jelentés vagy modul) lévő adatok Microsoft Excel (.xls), MS-DOS szöveg (.txt) vagy
rich-text (.rtf) formátumú fájlba való mentésére használható. Az adatok HTML (.html)
formátumú fájlba, Microsoft Internet Information Server (.htx, .idc) formátumú fájlba vagy
Microsoft Active Server Page(.asp) formátumú fájlba is menthetők. A Microsoft Internet
Information Server formátumú fájlok a Microsoft Personal Web Serverrel is használhatók.
- A Kisméret művelet segítségével az aktív ablakot a címsorára kicsinyíthetjük le a
Microsoft Access ablakának aljára.
- A KódFuttatása művelet segítségével hívhatunk meg egy Visual Basic Function típusú
eljárást.
- A KövetkezőKeresése művelet segítségével megkereshetjük azt a következő rekordot,
amelyik megfelel az előző RekordKeresése műveletben vagy a Keresés a következő
mezőben párbeszédpanelen megadott feltételnek (a párbeszédpanel a Szerkesztés menü
Keresés parancsára kattintva nyitható meg).
- A LekérdezésMegnyitása művelet segítségével megnyithatunk egy választó vagy
kereszttáblás lekérdezést Adatlap nézetben, Tervező nézetben vagy Nyomtatási kép
nézetben. Ez a művelet egy művelet lekérdezést futtat. A lekérdezéshez megválaszthatjuk
az adatbevitel módját is.
- A MakróFuttatása művelet segítségével makrót futtathatunk. A makró lehet egy
makrócsoport tagja.
- A MakróMegállítása művelet segítségével megállíthatjuk a futó makrót.
- A Mentés művelet segítségével meghatározott Microsoft Access objektumot lehet menteni,
illetve ha nincs meghatározott objektum, akkor az aktív objektumot. Bizonyos esetekben új
néven is lehet menteni az aktív dokumentumot (ugyanúgy, ahogyan a Fájl menü Mentés
másként parancsával).
- A MenüelemBeállítása művelet segítségével lehet beállítani az aktív ablak egyéni
menüsorában vagy globális menüsorában található menüelemek állapotát (engedélyezett
vagy tiltott, kijelölt vagy nem kijelölt). A MenüelemBeállítása művelet csak olyan egyéni
vagy globális menüsorokkal használható, amelyeket menüsor-makrókkal hoztunk létre. A
Informatikai alapismeretek modul Adatbázis-kezelés
166
MenüelemBeállítása műveletet csak azért tartalmazza a Microsoft Access e verziója, hogy
kompatíbilis maradjon a korábbi verziókkal. A művelet a parancssorok új funkcióival nem
működik együtt.
- A MenüHozzáadása művelet segítségével az alábbiak hozhatók létre:
- Egyéni menüsor űrlaphoz vagy jelentéshez. Az egyéni menüsor lecseréli az űrlap
vagy a jelentés beépített menüsorát.
- Egyéni helyi menü űrlaphoz, űrlap vezérlőeleméhez vagy jelentéshez. Az egyéni
helyi menü lecseréli az űrlap, az űrlap-vezérlőelem vagy a jelentés beépített helyi
menüjét.
- Globális menüsor. A globális menüsor a Microsoft Access valamennyi ablakában
lecseréli a beépített menüsort, kivéve azokat az ablakokat, amelyekbe egyéni
menüsort vettünk fel egy űrlaphoz vagy jelentéshez.
- Globális helyi menü. A globális helyi menü a beépített helyi menüt váltja fel a
táblák és lekérdezések adatlapmezőiben, az űrlapok Űrlap nézetében, Adatlap
nézetében és Nyomtatási képében valamint a jelentések Nyomtatási képében,
kivéve ha egyéni helyi menüt adtunk egy űrlaphoz, űrlap-vezérlőelemhez vagy
jelentéshez.
- A ModulMegnyitása művelet segítségével megnyithatunk egy adott Visual Basic modult
egy adott eljárásnál. Az eljárás Sub, Function vagy eseményvezérelt eljárás lehet.
- A Nyomtatás művelet segítségével kinyomtathatjuk az aktív objektumot a nyitott
adatbázisban. Adatlapokat, jelentéseket, űrlapokat és modulokat nyomtathatunk.
- Az ObjektumKijelölése művelet segítségével kijelölhetünk egy adott adatbázis-objektumot.
- Az ObjektumKüldése művelettel a megadott Microsoft Access adatlapot, űrlapot, jelentést
vagy modult betehetjük egy elektronikus üzenetbe, amelyben az megnézhető és
továbbítható. Az objektumokat a támogatott formátumokban helyezhetjük el Microsoft
Exchange, Microsoft Mail, Microsoft Windows for Workgroups vagy más olyan
elektronikus levelező alkalmazásokban, amelyek a MAPI (Microsoft Mail Applications
Programming Interface) protokollt használják.
- Az ObjektumMásolása művelet segítségével az adott adatbázis-objektumot másik
Microsoft Access adatbázisba vagy más néven ugyanabba az adatbázisba másolhatjuk. Így
például egy meglévő objektumot átmásolhatunk másik adatbázisba vagy tartalékmásolatot
készíthetünk róla, vagy gyorsan létrehozhatunk egy hozzá hasonló új objektumot.
- Az ObjektumTörlése művelettel egy adott adatbázis-objektumot törölhetünk.
- Az ObjektumÚjrarajzolása művelet segítségével befejezhetjük meghatározott (vagy ha
nincs meghatározva, akkor az aktív) adatbázis-objektum függőben lévő
képernyőfrissítéseit. Az ilyen frissítés magában foglalja az objektum vezérlőelemeinek
függőben lévő újraszámítását is.
- Az OldalraUgrás művelet segítségével a fókuszt az aktív űrlapon a megadott oldal első
vezérlőelemére állíthatjuk. Akkor használhatjuk ezt a műveletet, ha oldaltöréseket
tartalmazó űrlapot hoztunk létre, ami egymással összefüggő információcsoportokat foglal
magában. Lehetséges például, hogy van egy Alkalmazottak űrlapunk, amelyiknek az egyik
oldala személyes információkat, a másik oldala hivatali információkat, míg a harmadik
oldala áruforgalmi információkat tartalmaz. Ekkor az OldalraUgrás művelettel ráléphetünk
a kívánt oldalra. Többoldalas információkat is bemutathatunk egyetlen űrlapról a karton
vezérlőelemek segítségével.
- Az ÖsszesMakróMegállítása művelet segítségével megállíthatjuk az összes futó makrót.
- Az ÖsszesRekordMegjelenítése művelet segítségével eltávolíthatjuk az aktív táblához,
lekérdezés eredményhalmazához vagy űrlaphoz alkalmazott összes szűrőt, és
megjeleníthetjük a tábla vagy eredményhalmaz összes rekordját, vagy az űrlap alapjául
szolgáló tábla vagy lekérdezés összes rekordját.
Informatikai alapismeretek modul Adatbázis-kezelés
167
- A ParancsFuttatása művelet segítségével egy beépített Microsoft Access parancsot
futtathatunk. A parancs Microsoft Access menüsoron, eszköztáron vagy helyi menüben
jelenhet meg.
- A RekordKeresése művelet segítségével megkereshetjük az első előfordulását annak az
adatnak, amely megfelel a RekordKeresése argumentumaival megadott feltételnek. Ez
lehet az aktuális rekordban, a következő vagy a megelőző rekordban, vagy az első
rekordban. Rekordokat az aktív tábla adatlapon, lekérdezés adatlapon, űrlap adatlapon
vagy űrlapon kereshetünk.
- A RekordraUgrás művelet segítségével a megadott rekordot az aktuális rekorddá tehetjük
egy megnyitott táblában, űrlapon vagy egy lekérdezés eredményhalmazában.
- Az SQLFuttatása művelet segítségével és a megfelelő SQL utasítás megadásával futtatható
a Microsoft Access alkalmazásban egy módosító lekérdezés. Ugyancsak futtatható egy
adatdefiniáló lekérdezés is.
- A SzövegÁtvitele művelet segítségével szöveget importálhatunk és exportálhatunk az
aktuális Microsoft Access adatbázis és egy szövegfájl között. A szövegfájlban lévő adatok
csatolhatók is az aktuális Microsoft Access adatbázishoz. Ha csatoljuk a szövegfájlt, akkor
a Microsoft Access alkalmazásban megnézhetjük a benne lévő szöveget, miközben teljes
mértékben hozzáférhetünk a fájlhoz a szövegszerkesztő programból. HTML fájlból (.html),
ill. fájlba is importálhatunk, ill. exportálhatunk táblát vagy listát, ill. hozhatunk létre
csatolást.
- Tárolt eljárás futtatása: MS SQL Server projektekben használt tárolt eljárások futtatása.
- A SzűrőAlkalmazása művelettel szűrőt, lekérdezést, vagy egy SQL WHERE záradékot
használhatunk egy táblához, űrlaphoz vagy jelentéshez, hogy behatároljuk vagy rendezzük
a táblában lévő rekordokat, vagy az alaptáblában lévő rekordokat vagy az űrlap vagy a
jelentés lekérdezését. Jelentéseknél ez a művelet csak a jelentés Megnyitásra (OnOpen)
eseménytulajdonságával megadott makróban használható.
- A TáblaMegnyitása művelet segítségével megnyithatunk egy táblát Adatlap nézetben,
Tervező nézetben vagy Nyomtatási kép nézetben. A táblára vonatkozóan az adatbevitel
módját is megválaszthatjuk.
- A TáblázatÁtvitele művelettel adatokat importálhatunk és exportálhatunk az aktuális
Microsoft Access adatbázis és egy táblázatkezelő-fájl között. Egy Microsoft Excel
táblázatban lévő adatok csatolhatók is az aktuális Microsoft Access adatbázishoz. Ha
csatolunk egy táblázatot, akkor a Microsoft Access alkalmazásban megnézhetjük és
szerkeszthetjük a táblázatban lévő adatokat, miközben a Microsoft Excel táblázatkezelő
programból teljes mértékben hozzáférhetünk az adatokhoz. A Lotus 1-2-3 táblázat-
fájljaiban lévő adatokhoz is készíthetünk csatolást, de a Microsoft Accessben csak
olvashatjuk ezeket az adatokat.
- A TeljesMéret művelet segítségével úgy nagyíthatjuk ki az aktív ablakot, hogy az kitöltse a
Microsoft Access ablakát. A művelet lehetővé teszi, hogy az aktív ablakban a lehető
legtöbbet lássunk az objektumból.
- Az Újralekérdezés művelet frissíti az aktív objektum adott vezérlőelemében lévő adatokat
úgy, hogy újralekérdezést hajt végre a vezérlőelem forrásán. Ha nem határozunk meg
vezérlőelemet, akkor a művelet magának az objektumnak a forrását kérdezi le újra. Ennek
a műveletnek a segítségével biztosíthatjuk, hogy az aktív objektum vagy annak egyik
vezérlőeleme a legfrissebb adatot mutassa.
- Az ŰrlapMegnyitása művelet segítségével megnyithatunk egy űrlapot Űrlap nézetben,
űrlap Tervező nézetben, Nyomtatási kép nézetben vagy Adatlap nézetben. Az űrlaphoz
megválaszthatjuk az adatbeviteli és a megnyitási módokat, valamint behatárolhatjuk az
űrlapban megjelenítendő rekordokat.
Informatikai alapismeretek modul Adatbázis-kezelés
168
- Az Üzenetpanel művelet segítségével figyelmeztető vagy tájékoztató üzenetet
jeleníthetünk meg egy üzenetpanelen. A műveletet például makrók ellenőrzésére
használhatjuk. Ha egy vezérlőelem vagy rekord nem felel meg a makróban lévő
érvényességi feltételeknek, akkor egy üzenetpanelen hibaüzenet és útmutató jeleníthető
meg a beírandó adat típusára vonatkozóan.
- A VezérlőelemreUgrás művelet segítségével ráállíthatjuk a fókuszt a megadott mezőre
vagy vezérlőelemre a megnyitott űrlap, űrlap-adatlap, tábla-adatlap vagy lekérdezés
adatlap aktuális rekordjában. Ezt a műveletet akkor használhatjuk, ha azt akarjuk, hogy egy
adott mezőn vagy vezérlőelemen legyen a fókusz. Ekkor ezt a mezőt vagy vezérlőelemet
összehasonlításokhoz vagy RekordKeresése műveletekhez használhatjuk. A műveletnek
akkor is hasznát vehetjük, ha űrlapokon történő navigáláskor figyelembe szeretnénk venni
bizonyos körülményeket. Ha például a felhasználó egy egészségbiztosítási űrlapon a Házas
vezérlőelemre Nem beírásával válaszol, akkor a fókusz automatikusan átugorhatja a
Házastárs neve vezérlőelemet, és ráléphet a következő vezérlőelemre.
- A Visszhang művelet segítségével meghatározhatjuk, hogy be legyen-e kapcsolva a
visszhang. Így például ezzel a művelettel elrejthetjük vagy megjeleníthetjük egy makró
eredményét a futása közben.
Makrók létrehozása
A Northwind adatbázis Navigációs ablakában válasszuk az Űrlapok lehetőséget, majd a
Létrehozás szalagmenün kattintsunk az Üres Úrlap gombra! Válasszuk a tervező nézetet,
majd hozzunk létre az alábbi ábrának megfelelő űrlapot:
Mentsük el "Makró próba" néven, majd egyelőre zárjuk be!
A Navigációs ablakban válasszuk a Makrók lehetőséget, majd a Létrehozás szalagmenün
kattintsunk Makró gombra!
Informatikai alapismeretek modul Adatbázis-kezelés
169
A Művelet oszlopban válasszuk ki az ŰrlapMegnyitása műveletet! Alul megjelenik a
művelethez megadható paraméterek listája.
Az ŰrlapMegnyitása művelet argumentumai
- Űrlapnév: A megnyitandó űrlap neve. A Makró ablak Argumentumok részében, az
Űrlapnév mezőben megjelenik az aktuális adatbázisban lévő valamennyi űrlap. Az
argumentum megadása kötelező. Ha ŰrlapMegnyitása műveletet tartalmazó makrót
függvénytár-adatbázisban futtatunk, akkor a Microsoft Access az ilyen nevű űrlapot
először a függvénytár-adatbázisban keresi, és csak ezt követően az aktuális adatbázisban.
- Nézet: Az a nézet, amelyikben az űrlap meg fog nyílni. A Nézet mezőben kattintsunk az
Űrlap, Tervező, Nyomtatási kép vagy az Adatlap bejegyzések egyikére. Az alapértelmezés
szerinti beállítás az Űrlap.
- Megjegyzés: A Nézet argumentum beállítása felülírja az űrlap Alapértelmezett nézet és
Engedélyezett nézetek tulajdonságának beállításait. Ha például egy űrlap Engedélyezett
nézetek tulajdonsága Adatlapra van állítva, az ŰrlapMegnyitása művelettel az űrlapot még
megnyithatjuk Űrlap nézetben.
- Szűrő neve: Szűrő, amely behatárolja vagy rendezi az űrlap rekordjait. Meglévő lekérdezés
nevét, vagy olyan szűrő nevét is beírhatjuk, amelyik lekérdezésként lett mentve. A
lekérdezésnek azonban a megnyitandó űrlap valamennyi mezőjét magában kell foglalnia,
vagy a Minden mező a kimenetre tulajdonságot Igen állásba kell állítani.
- Where feltétel: Érvényes SQL WHERE záradék (a WHERE szó nélkül) vagy egy kifejezés,
amit a Microsoft Access arra használ, hogy rekordokat jelöljön ki az űrlap alaptáblájából
vagy lekérdezéséből.
- Adatmód: Az adatbevitel módja az adott űrlapra vonatkozóan. Ez csak az Űrlap nézetben
vagy Adatlap nézetben megnyitott űrlapokra vonatkozik. Kattintsunk a
- Hozzáadás (a felhasználó felvehet új rekordokat, de a meglévő rekordokat nem
szerkesztheti),
- Szerkesztés (a felhasználó felvehet új rekordokat, és a meglévőket is szerkesztheti)
vagy az
- Írásvédett (a felhasználó csak megnézheti a rekordokat)
beállítások egyikére. Az alapértelmezés szerinti beállítás a Szerkesztés.
- Megnyitási mód: A megnyitási mód az a mód, ahogyan az űrlap megnyílik.
- A Normál (az űrlap a tulajdonságai által megadott módban nyílik meg),
- a Rejtett (az űrlap rejtett),
- az Ikon (az ablak kisméretben, a címsorára kicsinyítve nyílik meg a képernyő
alján),
- és a Párbeszéd (az űrlap Modális (Modal) és Előugró (PopUp) tulajdonsága Igen
állásba van állítva)
beállítások valamelyikére kattinthatunk. Az alapértelmezés szerinti beállítás a Normál.
Állítsuk be az ŰrlapMegnyitása művelet argumentumait a fent látható módon, majd mentsük
el a makrót Próba néven!
Informatikai alapismeretek modul Adatbázis-kezelés
170
A mentés után futtassuk a létrehozott makrónkat a szalagmenü Futtatás ( ) gombjának
használatával.
A makró a futása során megnyitja az előbb létrehozott űrlapot. Zárjuk be a makrót és az
űrlapot!
Hozzunk létre egy új makrót, majd állítsuk be a Makróműveletet Bezárásra!
A Bezárás művelet argumentumai
- Objektumtípus: Annak az objektumnak a típusa, amelyiknek az ablakát be akarjuk zárni. A
Makró ablak Argumentumok részében, az Objektumtípus mezőben kattintsunk a
- Tábla,
- Lekérdezés,
- Űrlap,
- Jelentés,
- Makró
- vagy a Modul lehetőségek egyikére.
Ha az aktív ablakot akarjuk kijelölni, akkor hagyjuk üresen ezt az argumentumot.
- Objektumnév: A bezárandó objektum neve. Az Objektumnév mezőben megjelennek az
adatbázis mindazon objektumai, amelyeknek a típusát az Objektumtípus argumentummal
megadtuk. Kattintsunk az objektumra, hogy bezárjuk azt. Ha az Objektumtípus
argumentumot üresen hagytuk, akkor ezt az argumentumot is hagyjuk üresen.
- Mentés: Megadhatjuk, hogy akarjuk-e menteni a változtatásokat az objektum bezárásakor.
Kattintsunk az
- Igen (objektum mentése),
- Nem (objektum bezárása mentés nélkül)
- vagy a Kérdés (megkérdezi a felhasználót, hogy akarja-e menteni az objektumot
vagy nem) beállítás valamelyikére.
Az alapértelmezés szerinti beállítás a Kérdés.
Informatikai alapismeretek modul Adatbázis-kezelés
171
Állítsuk be a makró jellemzőit a jelzettnek megfelelően és mentsük el "Bezár" néven!
Nyissuk meg a Makrópróba űrlapot tervezésre! A vezérlőelem eszköztáron kapcsoljuk ki a
vezérlőelem varázslót ( ), majd hozzunk létre egy gombot az alábbiak szerint:
Nyissuk meg a parancsgomb tulajdonságlapját, majd az Esemény fülön kattintsunk a
"Kattintásra" eseményre. Megjelenik egy lenyíló lista, melyből kiválaszthatjuk a gombra való
kattintáskor futtatandó makrót. Válasszuk a "Bezár" makrót!
Informatikai alapismeretek modul Adatbázis-kezelés
172
Zárjuk be a tulajdonságlapot, majd mentsük el az űrlapot! Menjünk át Űrlap nézetbe és
kattintsunk a "Parancsgomb1" feliratú gombra! Ha mindent jól csináltunk, az űrlap bezáródik.
Modulok
A modul olyan Visual Basic meghatározások és eljárások gyűjteménye, melyek tárolása egy
egységként történik. A moduloknak két alapvető típusa van: osztálymodulok és globális
modulok.
Az űrlapmodul és a jelentésmodul egy olyan osztálymodul, amely egy adott űrlappal vagy
jelentéssel van kapcsolatban. Az űrlap- és jelentésmodulok gyakran tartalmaznak olyan
eseményvezérelt eljárásokat, amelyek futtatása az űrlapon vagy jelentésen bekövetkezett
eseményre válaszol. Az eseményvezérelt eljárások segítségével szabályozhatjuk az űrlapok
illetve jelentések viselkedését, illetve az olyan felhasználó által végrehajtott műveletekre adott
feleleteket, mint például egy parancsgomb megnyomása az egér használatával.
Amikor egy űrlap vagy jelentés első eseményvezérelt eljárását hozzuk létre, akkor a Microsoft
Access automatikusan létrehoz egy űrlap- vagy jelentésmodult. Ha az űrlaphoz vagy
jelentéshez tartozó modult akarjuk megtekinteni, akkor kattintsunk a Kód parancsra az
eszköztáron, ha az űrlap vagy jelentés Tervező nézetben van.
A globális modulok olyan általános eljárásokat tartalmaznak, amelyek nincsenek
kapcsolatban semmilyen más objektummal, illetve olyan gyakran használt eljárásokat,
amelyeket bárhonnan lehet futtatni az adatbázison belül.
Az eljárás a Visual Basic kód egysége. Az eljárás utasítások és metódusok olyan sorozata,
amely műveletet hajt végre, vagy értéket számol ki. Egy modulban lévő eljárás lehet
függvény (Function) vagy eljárás (Sub).
Az eljárásoknak két fajtája van:
- A Sub eljárások műveletet vagy műveletsorozatot hajtanak végre, de nem adnak vissza
értéket. Létrehozhatunk saját Sub eljárást, vagy használhatjuk a Microsoft Access által
létrehozott eseményvezérelt eljárás sablonokat. Az adatbázisunkban lévő minden egyes
űrlap és jelentés tartalmaz beépített űrlapmodult, illetve jelentésmodult, amely
eseményvezérelt-eljárássablonokat foglal magában. Hozzáadható olyan kód, amely az
űrlapon, a jelentésen vagy az űrlapon, illetve a jelentésen lévő vezérlőelemeken történt
eseményre válaszképpen fut. Amikor a Microsoft Access felismeri, hogy egy űrlapon,
jelentésen vagy vezérlőelemen esemény történt, automatikusan futtatja az objektum vagy
az esemény számára megnevezett eseményvezérelt eljárást. Sok, objektumot létrehozó
varázsló (például a Parancsgomb Varázsló) létrehoz az objektum számára eseményvezérelt
eljárásokat. Ezeknek az eseményvezérelt eljárásoknak a példáinál megtekinthetők, hogyan
működnek az eljárások.
- A Function eljárások (általánosan függvényeknek nevezik őket) értéket adnak vissza,
például egy számítás eredményét. A Visual Basic sok beépített függvényt tartalmaz, a Now
függvény például a napi dátumot és a pontos időt adja vissza. Ezeken a beépített
függvényeken kívül létrehozhatunk saját egyéni függvényeket is. Mivel a függvények
értéket adnak vissza, így azokat használhatjuk kifejezésekben. A Microsoft Access
alkalmazásban sok helyen (például Visual Basic utasításban vagy metódusban, sok
tulajdonság-beállításban vagy szűrő, illetve lekérdezés feltételében használhatunk a
kifejezésekben függvényt.
Informatikai alapismeretek modul Adatbázis-kezelés
173
A Modul ablak
A Northwind adatbázis Navigációs ablakában válasszuk a Modulok lehetőséget, majd
kattintsunk a Segédfüggvények gombra kettőt! A moduloknak csak egy Tervezés (Kód)
nézetük van, mivel a bennük definiált eljárásokat, csak külső meghívás útján lehet futtatni.
A Visual Basic ablakban zárjuk be a Project és a Properties (Tulajdonságok) ablakot, a
kódablakot pedig nyissuk teljes méretűre! Az ablak részei:
Informatikai alapismeretek modul Adatbázis-kezelés
174
Saját eljárások létrehozása és futtatása
Hozzunk létre egy saját eljárást a modulban! Írjuk be a következőt:
Function hello()
Dim ertek As Integer
ertek = MsgBox("Hello world!", vbOKOnly, "Üdvözlés")
End Function
Az eljárásunk (függvény - Function) neve "hello".
Deklaráltunk egy érték nevű változót (Dim ertek), mely egész típusú szám (as Integer).
A változónknak a Msgbox() függvénnyel adunk értéket. Az MsgBox() függvény segítségével
figyelmeztető vagy tájékoztató üzenetet jeleníthetünk meg egy üzenetpanelen. Az MsgBox()
függvény visszaad egy egész értéket, mely azt jelzi, hogy a felhasználó, egy több gombot
tartalmazó párbeszédpanelen melyik parancsgombot nyomta meg. Ezáltal reagálni tudunk a
felhasználó választására.
A függvény szintaxisa:
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
- Prompt: Kötelező. A párbeszédpanel által megjelenített szöveget adhatjuk meg ezzel a
paraméterrel.
- Buttons: Opcionális. Egy érték, mely azt adja meg, hogy milyen gombok legyenek a
párbeszédpanelen.
- Title: Opcionális. A párbeszédablak címsorában szereplő szöveget adja meg.
- Helpfile: Opcionális. A párbeszédpanelhez tartozó súgóállományt adja meg.
- Context: Opcionális. A párbeszédpanelhez tartozó súgóállomány meghatározott
fejezetének számát adhatjuk meg ezzel a paraméterrel.
Mentsük a modult, majd zárjuk be a modulablakot!
A Navigációs ablakban válasszuk a Makrók lehetőséget, majd a Létrehozás szalagmenün
kattintsunk a Makró gombra! Megjelenik a Makrószerkesztő ablak. A Makróműveletek közül
válasszuk ki a KódFuttatása műveletet. Az Argumentumok ablakban a Függvénynév cellát
kiválasztva, megjelenik a Szerkesztés gomb ( ). Erre kattintva a Kifejezésszerkesztőt
nyithatjuk meg.
Informatikai alapismeretek modul Adatbázis-kezelés
175
Válasszuk a ki a Függvények/Segédfüggvények/hello() eljárást, majd mentsük a makrót
"Modul" néven!
A mentés után futtassuk a létrehozott makrónkat az eszköztár Futtatás ( ) gombjának
használatával.
Amennyiben megjelenik a hello() függvényünk előállított üzenetablak, az eljárás futtatása
sikeres volt. Zárjuk be az üzenetablakot az OK gombra kattintva, majd zárjuk be a
Makrótervezőt is.
Informatikai alapismeretek modul Adatbázis-kezelés
176
12. fejezet (Kiegészítő anyag)
Visual Basic for Applications programozási alapok
Ha az adatbázisunkat kibővítjük Visual Basic for Applications eljárásokkal, akkor testre
szabhatjuk az adatbázisban lévő táblák, űrlapok, jelentések és lekérdezések együttműködési
módját. Az eljárásoknak különféle típusai vannak. Előre definiált sablonokhoz kód
hozzáadásával űrlapmodulban vagy jelentésmodulban létrehozhatunk eseményvezérelt
eljárást. Létrehozhatunk saját Function vagy Sub eljárásokat a normál modulokban vagy az
osztálymodulokban (űrlap- és jelentésmodulokat tartalmaz) is.
Normál modulban vagy osztálymodulban lévő eljárásokat hívhatunk kifejezésekből, más
eljárásokból, eseményvezérelt eljárásokból, más modulokban lévő eljárásokból és makrókból.
Az eseményvezérelt eljárások automatikusan futnak olyan eseményekre (például
egérkattintásra) válaszul, amelyek űrlapon, jelentésen vagy vezérlőelemen történnek.
Visual Basic változótípusok
Elemi adattípusok
Adattípus Tárolási méret Értékkészlet Byte 1 byte 0 - 255
Boolean 2 byte True vagy False
Integer 2 byte -32,768 - 32,767
Long (hosszú egész)
4 byte -2,147,483,648 - 2,147,483,647
Single (lebegőpontos)
4 byte -3.402823E38-től -1.401298E-45 és 1.401298E-
45-től 3.402823E38-ig
Double (lebegőpontos)
8 byte -1.79769313486232E308-től -4.94065645841247E-324-ig és;
4.94065645841247E-324-től
1.79769313486232E308-ig
Currency (fixpontos)
8 byte -922,337,203,685,477.5808-től
922,337,203,685,477.5807-ig
Decimal 14 byte +/-79,228,162,514,264,337,593,543,950,335
egészként és +/-7.9228162514264337593543950335
lebegőpontosként
Date 8 byte 100 január 1-től 9999 December 31.-ig
Object 4 byte Objektumhivatkozás
String (változó hossz)
10 byte + a string
hossza Szöveg
String (fixhosszúságú)
A string hossza Szöveg
Variant (számok)
16 byte Bármilyen számérték a Double hosszúságig
Variant (karakterek)
22 byte + a string
hossza Szöveg
Informatikai alapismeretek modul Adatbázis-kezelés
177
Tömbök
Azonos típusú értékekből tömböt hozhatunk létre, amelyben az egyes elemekre az indexekkel
hivatkozhatunk. Bár a tömb elemei azonos típusúak, variant adattípusú tömb esetén az egyes
elemek eltérő típusúak is lehetnek. Tömböt készíthetünk saját adattípusból is. A tömb indexe
csak Integer lehet, és a tömb számára a memóriaterület a deklaráláskor foglalódik le.
Fix méretű tömök
Globális tömböt a kód modul deklarációs részében a Global tömb(n) As típus utasítással
hozhatunk létre. Modul szintű tömböt a Dim utasítással az adott modul deklarációs részében
hozhatunk létre. Lokális tömböt a Static vagy Dim utasítással az eljárás deklarációs részében
hozhatunk létre. A tömbök sorszámozása alapértelmezésben nullától kezdődik, de ez az
Option Base utasítással megváltoztatható (a modul deklarációs részében). A tömb indexében
intervallum is megadható a To kulcsszóval.
Dinamikus tömbök
Olyan tömbök, amelyeknek futási időben változtatható a méretük, ezzel hatékonyabban
kezelhető a memória. Deklarálásuk hasonló a fix méretű tömbökéhez, de a dimenziós listát
üresen kell hagyni (pl. Dim tomb()). A későbbiekben a Redim utasítással adhatjuk meg a
dimenziókat illetve az elemek számát. A Redim utasítással változtathatjuk a meglévő
dimenziók határait, de adatvesztés nélkül csak a felsőt. Alapértelmezésben a dimenziók
számának változtatása adatvesztéssel jár, de a Preserve kulcsszó használatával elérhetjük,
hogy megmaradjanak az adataink. Ekkor azonban csak az utolsó dimenzió felső határa
módosítható, a többinél hibát kapunk.
Többdimenziós tömbök
A Visual Basicben maximum 60 dimenziós tömböket hozhatunk létre, de ez általában bőven
elég.
Dim tomb(n,m) As Integer
Dim tomb(n To m, f To g) As Integer
Felhasználói adattípus
A felhasználói adattípusok haszna, hogy olyan komplex adattípusokat hozhatunk létre,
melyek különböző típusú, de logikailag összetartozó adatokat tárolnak. Az új adattípusok
létrehozásának szintaxisa:
<hatókör> Type <új típus neve>
<változónév> as <típus>
<változónév> as <típus>
End Type
Informatikai alapismeretek modul Adatbázis-kezelés
178
Változó deklarációk
Változónevek
A Visual Basic for Applications kódban az eljárások, változók és állandók neve:
- Maximum 255 karakter hosszú lehet.
- Betűvel kell kezdődnie.
- Tartalmazhat betűket, számokat és aláhúzott karaktereket (_).
- Nem tartalmazhat írásjeleket és szóközöket.
- Nem lehet Visual Basic kulcsszó.
A kulcsszót a Visual Basic nyelve részeként használja. Ez lehet előre definiált utasítás
(például az If és a Loop), függvény (mint a Len és az Abs) és operátor (például Or és Mod).
A Visual Basic for Applications nem igényli automatikusan egy változó explicit deklarálását,
mielőtt azt egy eljárásban használnánk. Ha olyan változót használunk, amelyet még nem
deklaráltunk explicit módon, a Visual Basic azt implicit módon egy Variant adattípusú
változóként deklarálja. Habár az implicit deklarációk kényelmesek, azok a kódban nehezen
megfogható hibákhoz vezethetnek.
A nyelv nem tesz különbséget az azonosítók kis- és nagybetűvel írt alakjai között, bár a
környezet minden előfordulásnál ugyanolyan alakúra változtatja az azonosítókat, arra a
formára, ami a deklarációnál szerepel. Ismeri az ékezetes karakterek nagybetűs párjait is.
String literálok
Sztringliterálokat "-ek közé írhatunk. Többsoros sztringliterált csak úgy tudunk létrehozni, ha
egysorosakból fűzzük azt össze az & művelet és a _ jel segítségével: s$ = "Ez itt " _
& " három sornyi" _
& " szöveg."
Vezérlőkaraktereket nem helyezhetünk a sztringen belülre, különleges jeleket a Chr függvény
segítségével készíthetünk. A sztringek Visual Basic-ben összehasonlíthatók mind (akár
magyar) ábécé szerint, mind a karakterkódjuk alapján. Ezt az Option Compare paranccsal
dönthetjük el.
Megjegyzések, számok, utasítások
Megjegyzéseket a ' karakter után helyezhetünk el a programkódban, és a sor végéig tart. A
többsoros megjegyzések készítésére nincs nyelvi eszköz, de a környezet lehetővé teszi, hogy
egy kijelölt kódrészt megjegyzéssé, vagy megjegyzésből kóddá alakítsunk.
A Visual Basic a 10-es számrendszer mellett támogatja az oktális és hexadecimális
számrendszer használatát is. Az oktális számot &O, a hexadecimálist pedig &H prefixummal
kell jelölni.
Az utasításokból általában egy sorban csak egy található. Megengedett több utasítás egy sorba
írása is, ekkor ezeket : jellel kell elválasztani egymástól. Ha egy sorban nem fér el egy
kifejezés, akkor a sor végére _ karaktert kell írni, így jelezhetjük, hogy a következő sor is az
adott kifejezéshez tartozik.
Informatikai alapismeretek modul Adatbázis-kezelés
179
Hatókör és élettartam
A Visual Basic változók deklarációjának szintaxisa a következő:
<hatókör> <változónév> as <típus>
A hatókör a következő típusokból kerülhet ki:
- Public: a változó hatóköre az egész alkalmazásra kiterjed, vagyis minden modulból,
bármely eljárás elérheti az értéket. A változó élettartama az alkalmazásé, vagyis a változó
addig létezik, amíg az alkalmazás fut.
- Private: a változó hatóköre arra a modulra terjed ki, ahol deklarálták, vagyis csak az itt
található eljárások használhatják az értéket. A változó élettartama a modulé, vagyis addig
létezik, amíg a modul be van töltve (az űrlap vagy jelentés meg van nyitva stb.).
- Dim: a változó hatóköre arra a részre terjed ki, ahol deklarálták. Amennyiben ez a modul
fejrésze, úgy a modulra, ha azonban az eljáráson belül, úgy csak az eljárásból lehet elérni.
A változó élettartama is ettől függ, vagy a modul élettartamával egyezik meg, vagy az
eljáráséval.
Műveletek (operátorok)
Aritmetikai és logikai műveletek
Művelet Hatás = értékadás & karakterláncok összeadása * két numerikus kifejezés szorzása + két kifejezést ad össze, az eredménye a kifejezésektől függően lehet szám,
karakterlánc vagy egyéb - két numerikus kifejezés különbsége / két numerikus kifejezés hányadosa. Egészeknél az eredmény single lesz, a
számtartomány túllépése hibát okoz. \ két numerikus kifejezés hányadosának egészrésze ^ hatványozás
AND két tetszőleges kifejezés közötti logikai ÉS EQV két tetszőleges kifejezés közötti logikai azonosság (bitenkénti összehasonlításra is
jó) IMP két kifejezés közötti logikai implikáció
Is két objektumhivatkozás összehasonlítására Like két karaktersorozat összehasonlítására MOD két numerikus kifejezés osztása utáni maradékot adja NOT negáció OR két tetszőleges kifejezés közötti logikai VAGY
XOR két tetszőleges kifejezés közötti kizáró VAGY
Relációs műveletek <, <=, >, >=, =, <>
Informatikai alapismeretek modul Adatbázis-kezelés
180
Műveletek precedenciája
Aritmetikai Összehasonlítási Logikai ^ = NOT - <> AND
*, / < OR \ > XOR
MOD <= EQV +, - >= IMP & LIKE IS
Konstansok
Konstansokat a változók deklarálásához hasonlóan hozhatunk létre azzal a különbséggel,
hogy a sor elejére ki kell írni a Const kulcsszót.
Alapvető vezérlési szerkezetek
Szekvencia
Visual Basicben általában egy sor csak egy utasítást tartalmaz, és az egymást követő sorokban
levő utasítások szekvenciája a program. Lehetőség van egy sorba több utasítást is írni, ezeket :
jellel kell elválasztani. Az utasítások végét nem kell semmilyen karakterrel jelölni, és a :
karakter is csak az utasítások elválasztására szolgál.
Vezérlésátadó utasítások
A Visual Basicben két vezérlésátadó utasítás van, a Call és a GoTo (ez már csak
hagyománytiszteletből maradt meg a nyelvben). Alkalmazási formájuk:
Call eljárásnév (paraméterek)
GoTo címke
Eljárásokat hívhatunk a Call kulcsszóval, vagy egyszerűen a nevük leírásával. A
paramétereket nem fontos zárójelek közé írni, csak akkor, ha a Call utasítást használjuk. A
paramétereket megadhatjuk "param1=érték1 param2=érték2 ..." formában is, ekkor a
paraméterek sorrendjét sem kell betartani. Függvények esetében mindig ki kell írni a
zárójeleket a paraméterlista elé és után.
A nyelvben maradt néhány struktúra, ami már nem, vagy csak nagyon ritkán használatos.
Ezek:
Gosub címke: a címkére ugrik.
Return: az utolsó Gosub utasítás mögé ugrik vissza.
On x Goto címke1, ..., címken : x értékétől függően a megfelelő címkére
ugrik.
Informatikai alapismeretek modul Adatbázis-kezelés
181
Elágazások
Három elágazásos utasításcsoportot találhatunk a nyelvben:
If feltétel Then
utasítások
EndIf
Ha a feltétel teljesül, akkor végrehajtja az utasításokat. A feltételnek összehasonlításnak vagy
numerikusra kiértékelhető kifejezésnek kell lennie.
If feltétel1 then
utasítások1
Elseif feltétel2 then
utasítások2
Else
utasítások3
EndIf
Ha a feltétel1 teljesül, akkor végrehajtja az utasítások1-ben szereplő utasításokat. Ha nem
teljesül, akkor megvizsgálja a feltétel2-t, és így tovább. Azt a Then ágat hajtja végre először,
amelyiknél a feltétel teljesül. Ha nincs ilyen, akkor az Else ágat hajtja végre, ha van ilyen.
Select Case szelektor
Case szelektor_lista1
utasítások1
Case szelektor_lista2
utasítások2
Case Else utasítások
End Select
Kiértékeli a szelektort, és azt az ágat hajtja végre, amelyiknél a szelektor_listában szerepel a
kiértékelés eredménye. A szelektor_listában több értéket is felsorolhatunk (ezeket ","-vel kell
elválasztani), de megadhatunk intervallumot is (a To kulcsszóval). Ha több illeszkedő Case ág
is van, akkor az elsőt hajtja végre csak, a többit nem.
Ciklusok
Növekményes ciklus
For számláló=tól To ig [Step lépésköz]
utasítások
Next [számláló]
A számláló határozza meg, hogy hányszor hajtódnak végre a törzsben levő utasítások. A
lépésköz opcionális, az értéke alapértelmezésben 1. A lépésköz lehet negatív is, de ekkor a
"tól" értéknek nagyobbnak kell lennie az "ig" értéknél. A számlálónak, valamint a "tól "és
"ig" értéknek numerikusnak kell lennie.
Informatikai alapismeretek modul Adatbázis-kezelés
182
Feltételes ciklus
Do While feltétel
utasítások
Loop
Do
utasítások
Loop Until feltétel
A Do...Loop ciklus a törzset nem előre meghatározott számúszor hajtja végre, hanem egy
feltétel kiértékelésétől függ, hogy mikor fejezi be a törzs ismételt végrehajtását, addig hajtja
végre a törzsben szereplő utasításokat, míg a feltétel hamissá nem válik. Lehet elöl- vagy
hátultesztelő is. A ciklusfeltételnek numerikus értékre kiértékelhető kifejezésnek vagy
összehasonlításnak kell lennie. A hátultesztelő ciklus használatakor a törzs egyszer
mindenképpen végrehajtódik.
Kilépő utasítások
Az Exit utasítással léphetünk ki ciklusokból illetve alprogramokból. Az Exit mindig
közvetlenül lép ki a For...Next és Do...Loop ciklusból, valamint a Sub és Function
alprogramokból.
Kilépés ciklusból
A For...Next ciklusból az Exit For, a Do...Loop ciklusból az Exit Do utasítással léphetünk ki.
Ezeket az utasításokat általában valamilyen feltétel előzi meg, és csak akkor hajtódnak végre,
ha a feltétel igaz, és nincsen szükség a ciklus hátralevő részének végrehajtására.
Kilépés alprogramokból
Sub eljárásból az Exit Sub, függvényből pedig az Exit Function utasítással léphetünk ki. Mint
a ciklusoknál, az Exit utasítások használata általában az alprogramok esetében is feltételhez
kötött.
A With utasítás
A With utasítást akkor használjuk, ha egy objektumon több utasítást szeretnénk végrehajtani
egymás után. Használatakor nem kell kiírni az objektum nevét, csak azt a tagját, amire
hivatkozunk. Így gyorsíthatjuk a programot, felesleges gépeléstől kíméljük meg magunkat, és
a kód is olvashatóbb lesz.
With Font
.Name="Arial"
.Bold=True
.Size=5
End With
Informatikai alapismeretek modul Adatbázis-kezelés
183
Alprogramok
Visual Basicben általában eseményvezérelt alkalmazásokat készítünk. Az esemény olyan
hatás, amit egy ablak vagy vezérlőelem fogad, és reagál rá egy Visual Basic kódrész
végrehajtásával. Minden vezérlőelem előre definiált eseménykészlettel rendelkezik. Ugyanazt
az eseményt több objektum is képes felismerni, ezért az eseményt fogadó objektumtól is függ,
hogy milyen alprogram hajtódik végre válaszként. Az esemény-eljárást tehát az esemény és az
objektum neve együttesen azonosítja. Alapértelmezésként az alkalmazás első ablakához van
társítva a Startup Form tulajdonság, ami azt jelenti, hogy az alkalmazás futtatásakor
végrehajtódik az ablak Form_Load-hoz tartozó alprogram, majd a Windows várja a beérkező
eseményeket. Egy program futása akkor ér véget, ha minden ablaka le van zárva és nincsen
már végrehajtható kód. Az End utasítást bárhol kiadva azonnal befejezhetjük az alkalmazás
futtatását.
Esemény-eljárások
Ha egy objektum felismeri egy esemény bekövetkeztét, akkor automatikusan meghívja a
hozzárendelt alprogramot. Ez egy Sub és End Sub közé zárt végrehajtható kódot tartalmaz. Az
esemény-eljárás az esemény és az objektum nevéből áll, melyek "_" karakterrel vannak
elválasztva. Ha egy eljárás neve nem egyezik egyik vezérlőelem eljárásának nevével sem,
akkor az az ablak általános alprogramja lesz.
Általános alprogramok
Ezek az alprogramok csak akkor hajtódnak végre, ha az alkalmazás egy pontjáról expliciten
meghívjuk őket. Lehetnek eljárás vagy függvénytípusúak is. A két típus közt az a különbség,
hogy az eljárásnak (Sub) nincsen visszatérési értéke, míg a függvénynek (Function) van. Az
alprogramok rekurzív hívása megengedett. Függvények esetén a függvény neve zárójelek
nélkül a visszatérési értéket jelenti (még értékadás jobb oldalán is), paraméterlistával együtt a
függvény hívásának eredményét.
Eljárás deklarálása
Sub proc_nev (par1, par2, ... As típus1, parx, pary, ... As típus2)
utasítások
End Sub
Függvények deklarálása
Function fnev (par1 [As típus1], parx, pary, ... [As típus2]) [As típus]
utasítások
End Function
Függvények esetén mindig ki kell írni a zárójeleket az argumentumlistánál. Ha nem adjuk
meg az As kulcsszó után a függvény visszatérési értékének típusát, akkor az automatikusan
Variant lesz. A visszatérési érték a függvény nevéhez rendelődik hozzá. A függvény
törzsében nem kell return utasítást használnunk, de az "fnev = érték" utasításnak szerepelnie
kell.
Informatikai alapismeretek modul Adatbázis-kezelés
184
Függvény hívásakor a Visual Basic először az adott ablak- vagy kódmodulban keres, csak
ezután keres a többi kód modulban. Az aktuális ablakon kívül nem keres más ablak-
modulban. Más ablak-modulok műveleteit csak minősített hivatkozással hívhatjuk meg.
Definiálhatunk egy kód modulban private alprogramokat is, ezek lokálisak lesznek az adott
modulra nézve.
Paraméterátadás
Az eljárások argumentumai alapértelmezés szerint Variant típusúak, ha expliciten nem adtuk
meg a típusukat. A paraméterek átadása alapértelmezés szerint hivatkozás szerint történik. Ha
egy függvény egy argumentumára valamilyen más típusú adattal szeretnénk hivatkozni, akkor
azt jelezni kell.
Az alprogramoknak lehetnek opcionális paraméterei is. Ha ilyet szeretnénk deklarálni, akkor a
paraméter neve elé ki kell írni az Optional kulcsszót, és az utána következő paramétereknek is
opcionálisnak kell lenniük. Az opcionális paraméterekhez rendelhetünk alapértelmezett
értéket is, amit akkor vesznek fel, ha a alprogram hívásakor a paraméterek között nem
szerepel az adott paraméterhez tartozó érték.
A paraméterek átadása alapértelmezésben hivatkozás szerinti, de ha egy paramétert érték
szerint szeretnénk átadni, akkor a neve elé a "ByVal" kulcsszót kiírva megtehetjük. Eljárás
hívásakor az argumentumokat nem kell zárójelek közé rakni kivéve, ha a "Call" utasítással
hívjuk.
Objektum-orientált programozás, öröklődés
A Visual Basic objektum alapú nyelv, nem objektum orientált, ezért aztán hiányoznak belőle
a megszokott eszközök, de az újabb verziókban már lehetőségünk van osztályokat készíteni,
amelyekből aztán objektumokat hozhatunk létre. Az alkalmazás során objektumokkal
dolgozunk, amelyekhez létrehozhatunk objektumváltozókat, amelyekkel pl. egy ablaknak
több példányát hozhatjuk létre futási időben, illetve módosíthatjuk bármelyik ablakot vagy
vezérlőelemet. Az objektumváltozók láthatósága a deklarálás helyétől függ, mint ahogy a
hagyományos változóknál is.
Objektumok és osztálymodulok
Az újabb Visual Basic verziókban már háromfajta modul található: űrlap, standard és osztály.
Ez utóbbi a Visual Basic objektum orientált programozásának alapja. Az alkalmazásunk
alprogramjai által használt objektumok létrehozására használható, saját objektumokat
készíthetünk a segítségével (tulajdonságaikkal és tagfüggvényeikkel együtt). Az osztálymodul
tartalmazhat kódot és adatot is.
Az osztályban ugyanúgy deklarálhatunk függvényeket, mint más modulokban (a Public és
Private kulcsszó használatával).
Eseményeket a "Public Event event_name(...)" utasítással hozhatunk létre, és a "RaiseEvent
event_name(...)" utasítással válthatunk ki. Esemény mindig publikus kell legyen, nem lehet
opcionális és nem lehet ParamArray argumentuma.
Informatikai alapismeretek modul Adatbázis-kezelés
185
A Visual Basic nem használ öröklődést, a polimorfizmust pedig többszörös interfészen
keresztül biztosítja (két osztályban implementálom ugyanazt az interfészt, és ekkor mindkét
osztály egyedeire hivatkozhatok ezen az interfészen keresztül, de a megfelelő osztály
megfelelő művelete fog végrehajtódni). Interfészt egy külön osztálymodulban kell létrehozni,
melyben csak a műveletek fejlécét kell megadni (így ez egy absztrakt osztály lesz), az
implementációt pedig abban az osztályban kell megadni, amelyiket ezen az interfészen
keresztül szeretnénk elérni (az osztályban szerepelnie kell az Implement interface_name
sornak és a megfelelő műveletek deklarációjának). A használathoz létre kell hozni egy
interfész típusú változót (Dim iface As Interface_nev), ehhez rendeljük hozzá az adott osztály
egy objektumát, és ekkor az interfész műveleteivel érhetjük el az objektum adatait (csak
ezeket az alprogramokat látjuk).
Egy osztályban lehet Collection típusú attribútum is, így létrehozható egy-sok kapcsolat
osztályok közt.
Objektumváltozók deklarálása
- Kód modul deklarációs részében a Global kulcsszóval - globális, az alkalmazás futása alatt
él.
- Kód modul deklarációs részében a Dim kulcsszóval - modul szintű, az alkalmazás futása
alatt él.
- Kód modulban a Static kulcsszóval - modul szintű, az alkalmazás futása alatt él.
- Űrlap modul deklarációs részében a "Dim" kulcsszóval - az ablakpéldány élettartama alatt
él.
- Űrlap modulban a Static kulcsszóval - az ablakpéldány élettartama alatt él.
- Alprogramon belül a Dim kulcsszóval - az alprogram végrehajtási ideje alatt él.
Objektumváltozót deklarálhatunk általánosnak (ekkor pl. az alkalmazás bármelyik ablakára
mutathat), vagy speciálisnak (az objektum egy egyedi típusára hivatkozhat).
A Me taggal a konkrét objektumra hivatkozhatunk. Speciális objektumváltozó lehet az
alkalmazás tervezésekor létrehozott objektumok közül valamelyik (Form típusnál valamelyik
létező ablak, Control típusnál pedig valamilyen speciális vezérlőelem). Érdemes speciális
objektumváltozókat használni, mert ekkor a Visual Basic felismeri az objektumokhoz tartozó
metódusokra és tulajdonságokra vonatkozó hivatkozásokat az alkalmazás futásakor, így
gyorsabb lesz a programunk.
Objektumváltozók kezelése
Objektumváltozókat átadhatunk alprogramoknak paraméterként, ekkor az átadás mindig
hivatkozás szerinti. Objektumváltozó típusának meghatározásához használhatjuk az If TypeOf
.... Is .... then .... [Else ...] szerkezetet.
Objektumváltozókhoz a Set paranccsal rendelhetünk értéket. Ha egy objektumváltozó nem
hivatkozik semmilyen objektumra, akkor az értéke Nothing (ez a kezdeti értéke is inicializálás
után).
Informatikai alapismeretek modul Adatbázis-kezelés
186
Jellemzők
Az osztályokhoz tartozhatnak bizonyos jellemzők (property) is. Ezek úgy viselkednek, mintha
adattagok volnának, azzal a különbséggel, hogy ha értéküket kiolvassuk, vagy új értéket
kapnak, akkor egy függvény (illetve eljárás) fut le.
Öröklődés
A szokásos értelemben vett öröklődésről nem beszélhetünk, hiszen nem objektum orientált
nyelvről van szó. A Visual Basicben mindössze egy példányosításra hasonlító lehetőségünk
van, mégpedig hogy mikor létrehozzuk egy ablak egy másolatát, akkor az örökli az eredeti
ablak minden beállítását, s innentől kezdve a másolat az eredetitől teljesen függetlenül
kezelhető. Egy egyedi ablak minden példánya ugyanazon a kódon osztozik (műveletek), de az
adatokról saját másolata van.
A Modul ablak használata
A Visual Basic munkafelületét gyakran nevezik integrált fejlesztőkörnyezetnek (Integrated
Development Environment, IDE). Ezt az elnevezést azért kapta mivel egy közös környezetben
több különböző funkciót is egyesít. Ugyanabban a környezetben végezhetjük el a felhasználói
felületek tervezését, a programkód szerkesztését és a hibakeresést.
A fejlesztőkörnyezet elemei
Menüsor
Ez tartalmazza a Visual Basic programozás során használatos parancsokat. Megtalálhatjuk itt
a legtöbb programra jellemző menüpontokat is mint pl.: File (Fájl), Edit (Szerkesztés), View
(Nézet), Window (Ablak) és Help (Súgó). Ezeken kívül természetesen a programozással
kapcsolatos menüpontokat is tartalmaz a fejlesztőkörnyezet mint pl.: Debug (Hibakeresés),
Run (Futtatás), Project (Projekt).
Helyzetérzékeny (gyors) menük
Gyakran végzett műveletek gyors elérését teszik lehetővé. Ezen menü megjelenítését a jobb
egérgomb kattintásával végezhetjük el. A menüben elérhető parancsok listája helyzetfüggő,
vagyis attól függ, hogy hol kattintottunk a jobb egérgombbal.
Eszköztárak
A leggyakrabban használt parancsok gyors elérését teszik lehetővé. Az eszköztár egyes
ikonjain kattintva az általuk képviselt parancs azonnal végrehajtódik. Alapértelmezésként a
Basic az úgynevezett Standard (Szokásos) eszköztárak megjelenítésével indul, de a View
menü Toolbars parancsával további eszköztárakat jeleníthetünk meg.
Project Explorer ablak
Először is magyarázatra szorul, hogy mit is nevezünk VB projektnek? A projekt már nem egy
egyszerű program, a projekt egy fejlesztési feladat, az elkészítendő alkalmazás fájljainak
együttese, azaz egy projekt fogja össze a fejlesztett alkalmazás összes állományát és
tartalmazza a fejlesztőrendszer adott alkalmazáshoz tartozó beállításait, működési
Informatikai alapismeretek modul Adatbázis-kezelés
187
paramétereit. A projektcsoport pedig egy olyan projekt, ami nem fájlokat, hanem további
projekteket foglal magába.
Most, hogy már tudjuk mi is a projekt egy kicsit talán érthetőbbnek tűnik a Project Explorer
ablak tartalma. Ez az ablak tartalmazza az aktuális projekthez tartozó modulok, űrlapok és
egyéb fájlok listáját a megfelelő csoportosításban. A jobb egérgomb lenyomásával
megjeleníthető menü segítségével kedvünk szerint módosíthatjuk a projektet. Hozzáadhatunk,
illetve elvehetünk elemeket a listából. Ilyenkor természetesen a módosítások elmentődnek a
projektünkbe is.
Properties ablak
Talán az egyik legfontosabb és a legtöbbet használt ablak a Visual Basic-ben. Segítségével
könnyedén megváltoztathatjuk az aktuálisan kiválasztott űrlap, vagy vezérlőelem egyes
tulajdonságait. Jelentősége még abban rejlik, hogy egyes objektumok rendelkezhetnek olyan
csak tervezési időben beállítható tulajdonságokkal, amiket csak ezen az ablakon keresztül
módosíthatunk.
Közvetlenül az ablak címsávja alatt található az objektum lista, ami az éppen aktív
programmodul objektumainak, vezérlőelemeinek nevét és típusát mutatja. A listából tetszés
szerint választhatunk és ilyenkor mindig az aktuálisan kiválasztott elem tulajdonságai
kerülnek megjelenítésre.
Informatikai alapismeretek modul Adatbázis-kezelés
188
Mint látható a Properties ablakon két fül található: Alphabetic, Categorized. E két fül
segítségével az éppen aktuális vezérlőelem tulajdonságainak megjelenési sorrendjét
választhatjuk meg. Lehetőség van a tulajdonságok abc sorrendben történő megjelenítésére
(első fül), valamint különböző kategóriák alapján való csoportosításukra (második fül). Talán
a kategóriák szerinti megjelenítés egy kicsit kényelmesebb hiszen a vezérlők összetartozó
tulajdonságai egy helyen, egy csoportban helyezkednek el, így nem kell állandóan a listán
navigálnunk a keresésük miatt.
A tulajdonság mezők listája két hasábból áll. Az első tartalmazza a nevét, míg a másikban az
aktuális érték olvasható. Az éppen kijelölt tulajdonság értékének módosítása attól függ, hogy
milyen jellegű az adott tulajdonság. Ha hozzá csak néhány megengedett érték rendelhető,
akkor a megjelenő listából történő választás segítségével hajtható végre a módosítás (pl.: ilyen
tulajdonság a Visible ami csak két lehetséges értéket vehet fel True vagy False). Más
esetekben az új érték egyszerűen begépelhető.
A Properties ablakon megjeleníthető egy ún. Státussor, ahol az éppen aktuális tulajdonságról
kaphatunk egy rövid kis leírást. Ezt úgy érhetjük el, hogy az ablakon a jobb egérgombbal
kattintunk és a megjelenő menüből kiválasztjuk a Description pontot.
Kódszerkesztő ablak
Ide jön a lényeg! Ez az ablak a tényleges programozói felület. Itt írhatjuk meg eljárásainkat,
szerkeszthetjük az egyes vezérlők eseményeinek kódrészleteit, definiálhatunk új osztályokat.
A projekt minden egyes moduljához, űrlapjához saját ablak tartozik, tehát a kódokat nem kell
ömlesztve egy helyen elhelyeznünk, hanem minden modulhoz, űrlaphoz vagy osztályhoz csak
a saját kódrészlete tartozik.
Mivel a programozás során leginkább a menüsor és az ott található parancsok – vagy az ún.
forró billentyűk - használata a legkézenfekvőbb ezért pár mondatban bemutatnánk a
legfontosabb menüpontokat.
File menü
Itt megtalálhatunk mindent amit a Fájl menükben szokásos elhelyezni. Új projekt létrehozása,
létező projekt megnyitása, mentések, nyomtatások, stb.
Edit menü
Szintén egy általános menüpont de itt is találunk speciális parancsokat. Ilyen például a List
Properties/Methods menüpont. A menüpont kiválasztásával az éppen aktív kódablakban
megjelenik egy lista annak az objektumnak a tulajdonságaival és metódusaival, amelynek a
nevét éppen beírtuk, és már kitettük az objektum és tulajdonság/metódus nevét elválasztó
pontot (.). Ha nem írtunk be semmit, akkor a globális metódusok és eljárások nevei
szerepelnek a listában.
Ez a funkció azonban automatikussá is tehető az Option párbeszédablakban az Auto List
Members kapcsolóval. Ha ez aktív, akkor az objektumnév utáni pont (.) begépelésekor
automatikusan megjelenik ez a lista.
Hasonló könnyítést jelent a List Constants menüpont is. Ennek aktiválásával az éppen beírt
tulajdonság lehetséges értékeit tartalmazó lista jeleníthető meg. Ez a funkció is automatikussá
tehető az előbb említett módon.
Informatikai alapismeretek modul Adatbázis-kezelés
189
A Quick Info parancs lehetőséget ad egy gyors segítség kérésére az aktív ablakban
kiválasztott változó, függvény, utasítás, metódus, eljárás használatának helyes szintaxisáról.
Automatizálható az Option panel Auto Quick kapcsolójával. Hasonló segítséget ad a
Parameter Info parancs is, csak ennek aktiválásával a kiválasztott eljárás, metódus, függvény
lehetséges paramétereiről kapunk bővebb információt.
View menü
Itt találhatjuk meg azokat a menüpontokat melyek segítségével a már említett és a
fejlesztőrendszer részeit képező ablakok jeleníthetők meg. Használata nem igazán igényel
bővebb magyarázatot.
Debug és Run menü
E két menü használata már leginkább a programozás főbb fázisához a teszteléshez köthetők.
A Run menüből tudjuk futtani és leállítani alkalmazásunkat, míg a Debug menü segítségével
hibakeresést végezhetünk.
Debuggolás során ún. töréspontokat helyezhetünk el a programkódokban (Breakpoint) és
szükség szerint soronként is végigmehetünk az alkalmazásunkon. Lehetőség van ún. figyelő
ablakok megjelenítésére is ahol egy adott változó, objektum értékét vagy tulajdonságait
kísérhetjük figyelemmel.
Tools menü
Ez is egy igen hasznos menünek tekinthető, hiszen segítségével igen könnyen tudunk új
eljárásokat, függvényeket létrehozni valamint alkalmazásunk számára az egyes űrlapokon
menüket is szerkeszthetünk.
Itt található még a már említett Option menüpont is melynek segítségével a fejlesztőkörnyezet
főbb tulajdonságai változtathatók tetszés szerint. Ezekkel a beállításokkal mindenki saját
igényeinek megfelelően alakíthatja a VB fejlesztőkörnyezetét.
Nagyjából ezek a Visual Basic for Applications fejlesztőkörnyezetének legfontosabb felépítői.
Most nézzük meg a Kódszerkesztő ablak használatát.
Munka a Kódszerkesztő ablakban
Nyissuk meg az U:\Kód.mdb adatbázist, válasszuk az Űrlapok objektumokat, majd a
Létrehozás szalagmenün kattintsunk az Üres űrlap gombra! Váltsunk Tervező nézetre!
A Microsoft Access egy üres a Tervező nézetben megjelenített Űrlap ablakot nyit. Hozzunk
létre ezen az új űrlapon egy parancsgombot a varázsló használata nélkül, felirata legyen
Informatikai alapismeretek modul Adatbázis-kezelés
190
"Kódolt parancsgomb", neve gbParancs, az űrlap neve pedig "Bezárás". Mentsük a
változtatásokat!
Váltsunk a parancsgomb tulajdonságlapjára! Válasszuk az Esemény fület, majd ott
kattintsunk a "Kattintásra" eseményre! Megjelenik egy szerkesztő gomba a tulajdonságmező
mellett.
Egy párbeszédablak jelenik meg, melyben kiválaszthatjuk, hogy melyik szerkesztőt akarjuk
használni, az eseményhez rendelendő művelet meghatározásához. Válasszuk a
Kódszerkesztőt! A Visual Basic ablakban zárjuk be a Project és a Properties (Tulajdonságok)
ablakot, a kódablakot pedig nyissuk teljes méretűre!
Informatikai alapismeretek modul Adatbázis-kezelés
191
A Kódszerkesztő ablak felső részén két listát találunk:
- A bal oldali objektumlista a modulhoz (itt az űrlaphoz - Form) tartozó
objektumokat sorolja fel,
- míg a jobb oldali eseménylista a kiválasztott objektum eseményei közötti váltást
teszi lehetővé.
Alapértelmezés szerint beíródik a vezérlőelem kiválasztott eseményéhez tartozó eljárás neve,
ill. a Visual Basic elkészíti annak struktúráját:
Private Sub gbParancs_Click()
End Sub
Írjuk be a az eljárás törzsébe a következő kódot:
DoCmd.Close
Figyeljük meg, hogy amikor az objektum (DoCmd) nevét beírtuk, a VBA egy metóduslistával
segítette a megfelelő művelet kiválasztását.
Informatikai alapismeretek modul Adatbázis-kezelés
192
Ha a kiválasztott művelet után egy szóközt ütünk, ezzel jelezve a VBA-nak, hogy meg
akarjuk adni a metódus paramétereit, egy gyorssúgóval megmutatja azokat, ill. ahol lehet
listákból választhatjuk ki az értékeket.
Írjuk be a következő kódot (az első és a harmadik paramétert a listából válasszuk ki):
DoCmd.Close acForm, Me.Name, acSavePrompt
A Docmd objektum
A DoCmd objektum metódusaival Microsoft Access műveleteket futtathatunk Visual
Basicből. Ezek a műveletek fontos feladatokat látnak el, mint amilyen az ablakok bezárása,
űrlapok megnyitása és értékek beállítása a vezérlőelemek számára. Például a DoCmd
objektum OpenForm metódusával űrlapot nyithatunk meg, vagy a Hourglass metódussal
megváltoztathatjuk az egérmutatót vagy a homokóra ikont.
Informatikai alapismeretek modul Adatbázis-kezelés
193
A DoCmd metódusok legtöbbjének van argumentuma, amelyek közül egyesek kötelezőek,
mások választhatók. Ha kihagyunk egy választható argumentumot, akkor az argumentum az
adott metódus alapértékét fogja feltételezni. Így például az OpenForm metódusnak hét
argumentuma van, de ezek közül csupán az első a kötelező, az űrlapnév.
A fenti kód a Close műveletét (metódusát) aktiválja a DoCmd objektumnak. A Close metódus
a Bezárás műveletet hajtja végre Visual Basicben. Szintaxisa:
DoCmd.Close [objektumtípus, objektumnév], [mentés]
A Close metódus a következő argumentumokkal rendelkezik.
- Objektumtípus: A következő belső állandók egyike:
- acDefault (alapérték)
- acForm
- acMacro
- acModule
- acQuery
- acReport
- acTable
- Objektumnév: Egy karakterlánc-kifejezés, amely az objektumtípus argumentum által
kijelölt típusú objektum érvényes neve. Ez itt, ebben az esetben a Me.Name tulajdonság
értéke, mely az aktuális objektum (itt az űrlap) nevét adja vissza.
- Mentés: Ha ezt az argumentumot üresen hagyjuk, akkor az alapértelmezett állandó
(acSavePrompt) lép érvénybe. A lehetséges érték a következő belső állandók egyike:
- acSaveNo
- acSavePrompt (alapérték)
- acSaveYes
A Close metódus ellentétpárja a DoCmd objektum Open metóduscsoportja. Pl. az OpenForm
metódus az ŰrlapMegnyitása műveletet hajtja végre Visual Basicben. Szintaxisa:
DoCmd.OpenForm űrlapnév [, nézet][, szűrő neve][, where feltétel][, adatmód][,
ablakmód][, megnyitási argumentumok]
- Űrlapnév: Egy karakterlánc-kifejezés, amely az aktuális adatbázisban egy űrlap érvényes
neve. Ha az OpenForm metódust tartalmazó Visual Basic kódot futtatunk egy függvénytár-
adatbázisban, akkor a Microsoft Access az ilyen névvel rendelkező űrlapot először a
függvénytár-adatbázisban, majd az aktuális adatbázisban keresi.
- Nézet: A következő belső állandók egyike:
- acDesign
- acFormDS
- acNormal (alapérték)
- acPreview
- acNormal megnyitja az űrlapot Űrlap nézetben.
Ha ezt az argumentumot üresen hagyjuk, akkor az alapértelmezett állandó (acNormal) lép
érvénybe.
- Szűrő neve: Egy karakterlánc-kifejezés, amely az aktuális adatbázisban egy lekérdezés
érvényes neve.
- Where feltétel: Egy karakterlánc-kifejezés, amely egy érvényes SQL WHERE záradék a
WHERE szó nélkül.
Informatikai alapismeretek modul Adatbázis-kezelés
194
- Adatmód: A következő belső állandók egyike:
- acFormAdd
- acFormEdit
- acFormPropertySettings (alapérték)
- acFormReadOnly
Ha ezt az argumentumot üresen hagyjuk (az alapértelmezett állandó,
acFormPropertySettings lép érvénybe), akkor a Microsoft Access az űrlapot az űrlap
Szerkesztés engedélyezése (AllowEdits), Törlés engedélyezése (AllowDeletions), Bővítés
engedélyezése (AllowAdditions) és Adatbevitel (DataEntry) tulajdonságai által
meghatározott adatmódban nyitja meg.
- Ablakmód: A következő belső állandók egyike:
- acDialog
- acHidden
- acIcon
- acWindowNormal (alapérték)
Ha ezt az argumentumot üresen hagyjuk, akkor az alapértelmezett állandó
(acWindowNormal) lép érvénybe.
- Megnyitási argumentumok: Egy karakterlánc-kifejezés. Ezt a kifejezést az űrlap OpenArgs
tulajdonságának beállításához használjuk. Ezután ezt a beállítást használhatja egy
űrlapmodulban lévő kód, például az Open eseményvezérelt eljárás. Az OpenArgs
tulajdonságra hivatkozhatunk makrókban és kifejezésekben is. Tegyük fel például, hogy a
megnyitott űrlap az ügyfelek egy folyamatos űrlap listája. Ha azt akarjuk, hogy az űrlap
megnyitásakor a fókusz egy megadott ügyfél rekordjára kerüljön, akkor megadhatjuk az
ügyfél nevét az OpenArgs argumentummal, majd a fókuszt a FindRecord metódus
használatával a megadott névvel rendelkező ügyfél rekordjára helyezhetjük. Ez az
argumentum csak Visual Basicben érhető el.
A Visual Basic for Applications minden sorra szintaxisellenőrzést végez beírás közben, így
amennyiben elírunk valamit, az kiderül már a kódszöveg szerkesztésénél. Utólagos fordításra
is lehetőség van, ha bekapcsoljuk a Run menü Design Mode (Tervezőmód) lehetőséget.
Ezután a Debug menü "Compile adatbázisnév" parancsával kérhető a kódszöveg fordítása.
Figyeljük meg, hogy a modul fejrésze el van választva az eljárásokat tartalmazó törzstől. A
fejrészbe helyezhetőek el a globális változók ill. a fordításra vonatkozó beállítási utasítások.
Fordítási utasítások
Option Base deklaráció:
Az Option Base deklaráció értéke 1 vagy 0. Ezzel adhatjuk meg, hogy az indexhivatkozások 0
bázisúak legyenek-e (ez az alapértelmezés), vagy 1-től kezdődjenek.
Option Compare deklaráció:
Az Option Compare deklaráció értéke Text, Binary vagy Database. Azt adja meg, hogy
hogyan történjen a karaktersorozatok összehasonlítása. A Binary mód az ASCII kód szerint, a
Text mód a kis és nagybetűk figyelmen kívül hagyásával hasonlítja össze a sztringeket. A
Database érték a beállított helyi abc-sorrendet veszi alapul.
Option Explicit deklaráció:
Ha használjuk, a változók használatba vétele előtt kötelező azokat deklarálni.
Informatikai alapismeretek modul Adatbázis-kezelés
195
Option Private Module deklaráció:
Lehetővé teszi, hogy a modulban tárolt eljárásokat a projekt más pontjairtól is el lehessen
érni.
Ha sikeres volt a fordítás, zárjuk be a kódablakot, mentsük az űrlapot, majd váltsunk Űrlap
nézetre, és kattintsunk a lekódolt gombunkra!
Példamodulok
Alább a Kód adatbázisban található példamodulok rövid leírását találhatjuk meg.
Értékadás és üzenetablak
A kód
Private Sub gbTorol_Click()
If MsgBox("törlöd?", vbOKCancel, "Megerősítés") = vbOK Then
If MsgBox("biztos?", 36) = 6 Then
szoveg = ""
End If
End If
End Sub
Private Sub gbKiir_Click()
If szoveg = "helló!" Then
szoveg = ""
gbKiir.Caption = "Kiírás"
Else
szoveg = "helló!"
gbKiir.Caption = "Törlés"
End If
End Sub
Magyarázat
A kód feladat, hogy egy olyan űrlaptevékenységet valósítson meg, ahol a "Kiírás" feliratú
gombra való kattintással, egy meghatározott szöveget (itt "helló!") írathatunk ki a szoveg
elnevezésű beviteli mezőbe. A "Törlés" feliratú gombra kattintva a szoveg e beviteli mezőből
eltüntethető. A kiírás során a "Kiírás" gomb felirata "Törlés" -re változik, és a funkciója is
módosul.
Informatikai alapismeretek modul Adatbázis-kezelés
196
A "Kiírás" feliratú gomb neve gbKiir. Ezen a néven hivatkozunk rá a VBA kódban. Mikor
rákattintunk lefut a Kattintásra eseményhez kötött gbKiir_Click() eljárás, mely egy elágazást
tartalmaz. Ha a "szoveg" nevű beviteli mező értéke "hello!", úgy egy üres sztringet ad értékül
a mezőt reprezentáló változónak (""), és a gomb feliratát (Caption) "Kiirásra" módosítja. Ha a
"szoveg" mező értéke nem "hello!", akkor a hamis (else) ágon folytatódik a művelet-
végrehajtás, a mező értékeként a "hello!" sztringet adja át, a gomb feliratát "Törlés"-re
módosítja.
A Törlés feliratú gomb neve gbTorol. Ezen a néven hivatkozunk rá a VBA kódban. Mikor
rákattintunk lefut a Kattintásra eseményhez kötött gbTorol_Click() eljárás, mely meghívja az
MsgBox függvényt, ami egy OK, Mégse gombokat tartalmazó párbeszédablakot nyit meg. Ha
ezen az ablakon az OK gombra kattintunk, úgy egy új ablakot jelenít meg a kód, mely egy
információablak, ami Igen, Nem gombokat tartalmaz. Ha itt az Igent választjuk a "szoveg"
mező üres sztringet kap új értékül.
Mint a második esetben látható az MsgBox függvény számokat is elfogad, mind az ablaktípus
megjelenítéséhez, mind a visszatérési érték lekezeléséhez. Ezek az elfogadható értékek a
következők:
Konstant Érték Leírás vbOKOnly 0 OK gomb megjelenítése VbOKCancel 1 OK és Mégse gomb
megjelenítése VbAbortRetryIgnore 2 Megszakítás, Újra, Kihagyás
gombok megjelenítése VbYesNoCancel 3 Igen, Nem, Mégse gombok
megjelenítése. VbYesNo 4 Igen, Nem gombok
megjelenítése. VbRetryCancel 5 Újra és mégse gombok
megjelenítése VbCritical 16 "Kritikus üzenet" ikon
megjelenítése VbQuestion 32 "Figyelmeztető kérdés" ikon
megjelenítése VbExclamation 48 "Figyelmeztető üzenet" ikon
megjelenítése VbInformation 64 "Információs üzenet" ikon
megjelenítése VbDefaultButton1 0 Az első gomb az
alapértelmezett VbDefaultButton2 256 A második gomb az
alapértelmezett VbDefaultButton3 512 A harmadik gomb az
alapértelmezett VbDefaultButton4 768 A negyedik gomb az
alapértelmezett
Informatikai alapismeretek modul Adatbázis-kezelés
197
Az elfogadható visszatérési értékek a következők:
Konstant Érték Leírás vbOK 1 OK vbCancel 2 Mégse vbAbort 3 Megszakítás vbRetry 4 Újra vbIgnore 5 Kihagyás vbYes 6 Igen vbNo 7 Nem
A konstansokat megadhatjuk szöveggel, vagy az összeadott számértékeket szerepeltethetjük a
paraméterek megfelelő helyén.
Többirányú elágazás
A kód
Private Sub gbKutya_Click()
Select Case Keret
Case 1
cél = "cica"
Címke.Caption = "cica"
Case 2
cél = "kutya"
Címke.Caption = "kutya"
End Select
End Sub
Informatikai alapismeretek modul Adatbázis-kezelés
198
Private Sub gbRelacio_Click()
Select Case elso
Case Is > masodik
MsgBox "Az első nagyobb mint a második!", , "Értékelés"
Case Is < masodik
MsgBox "Az első kisebb mint a második!", , "Értékelés"
Case Is = masodik
MsgBox "Az első egyenlő a másodikkal!", , "Értékelés"
End Select
elso = ""
masodik = ""
End Sub
Private Sub gbOsztaly_Click()
Select Case pont
Case 0 To 60
jegy = "Elégtelen"
Case 61 To 70
jegy = "Elégséges"
Case 71 To 80
jegy = "Közepes"
Case 81 To 90
jegy = "Jó"
Case 91 To 100
jegy = "Jeles"
Case Else
jegy = "Értékelhetetlen pontszám!"
End Select
End Sub
Magyarázat
A kód három különálló eljárásból áll, mely a többirányú elágazás különböző megvalósításait
van hivatva bemutatni. A gbKutya_Click() eljárás a "Keret" nevű vezérlőelem csoport
aktuális értéket használja fel, hogy az értékadásokat megtegye.
A gbRelacio_Click() eljárás esetében a szelektort az "IS" kulcsszóval helyettesítve a megadott
ágon, az értékkel összehasonlítási művelet végezhető. Végül a gbOsztaly_click() eljárás
bemutatja, hogy hogyan lehet a szelektor értékét egy tartományhoz hasonlítani.
Informatikai alapismeretek modul Adatbázis-kezelés
199
Mozgatás
A kód
Private Sub Form_Timer()
If cica.Left < 6000 Then
cica.Left = cica.Left + 100
Else
cica.Left = 0
End If
End Sub
Private Sub gbVissza_Click()
cica.Left = 0
End Sub
Magyarázat
A kód az időzítő használatát mutatja be. Az űrlap Időzítőre eseményéhez kötött eljárás (Sub
Form_Timer()) az Időzítő intervallumban megadott értékű ezredmásodperc után végrehajtja a
törzsben található utasításokat, majd újrakezdi az időmérést. Az eljárás törzsében lévő
elágazás, abban az esetben, ha a "cica" nevű címke még nem érte el az űrlap jobb szélét a
feliratot arrébb helyezi 100 twippel. A twip, a Microsoft Access programban használt
mértékegység, egyenlő a pont 1/20 vagy a hüvelyk 1/1440 részével. 567 twip egyenlő 1
centiméterrel. Ha a címke eléri az űrlap jobb szélét, az eljárás a "cica" Left (Balra)
tulajdonságát 0-ra állítva visszahelyezi azt a bal szélre.
Ugyanez történik, ha a parancsgombra kattintunk, hiszen a gbVissza_Click() eljárás, a gomb
aktiválásakor a Left tulajdonság értékét nullázza.
Informatikai alapismeretek modul Adatbázis-kezelés
200
Véletlenszámgenerálás
A kód
Public egy As Integer
Public ketto As Integer
Private Sub Form_Load()
egy = 1
End Sub
Private Sub Form_Timer()
Select Case egy
Case 1
cica.Left = cica.Left + 100
If cica.Left >= 4536 Then
egy = 2
Else
egy = 1
End If
Case 2
cica.Left = cica.Left - 100
If cica.Left <= 0 Then
egy = 1
Else
egy = 2
End If
Case 3
End Select
End Sub
Private Sub gbMegall_Click()
If egy = 3 Then
egy = ketto
Else
ketto = egy
egy = 3
End If
End Sub
Informatikai alapismeretek modul Adatbázis-kezelés
201
Private Sub gbVeletlen_Click()
Szoveg = Int(100 * Rnd(10))
End Sub
Magyarázat
A kód két különálló részből áll. Az űrlapon lévő címke mozgatását végzi a Form_Timer()
eljárás, oly módon, hogy amennyiben a címke eléri az űrlap átellenes szélét, a mozgatás
irányát megfordítja. Ehhez egy külső "egy" nevű változót használunk, mely az aktuális
mozgási irányt tárolja (1-jobbra, 2-balra). A változó értékének megváltozása (ezzel együtt a
mozgás irányának megváltozása) a Left tulajdonság vizsgálatához köthető, ha az értéke 0
(elérte az űrlap bal szélét) a mozgás iránya jobb (nem engedjük kimenni az űrlap területéről),
ha értéke 4536 (űrlapszélesség-címkeszélesség twipben), a mozgás iránya bal lesz.
Az űrlapon található egy parancsgomb, mellyel a mozgás megállítható, oly módon, hogy az
"egy" változó számára a "select case" számára értelmes, ám üres törzsű szelektorértéket adunk
meg. Ebben az esetben azonban, az "egy" eredeti értékét el kell tárolni, a későbbi
folytatáshoz, erre szolgál a "ketto" nevezetű változónk.
A kód harmadik része egy véletlen szám generálását mutatja be. Véletlenszám generálásához
az Rnd függvény használható, mely egy Single típusú értéket ad vissza. Szintaxisa:
Rnd(szam)
Int((felső határ - alsó határ + 1) * Rnd + alsó határ)
Ha egy megadott tartományból szeretnénk visszaadatni egy egész értéket, használjuk a
második formulát.
Óra
A kód
Private Sub Form_Timer()
ora.Caption = Time()
End Sub
Magyarázat
Az Időzítő intervallum 1000-re van állítva, ezáltal 1 másodpercenként fut le az eljárás, mely
az "ora" nevű címke feliratát az aktuális időre módosítja.
Informatikai alapismeretek modul Adatbázis-kezelés
202
Igen-nem
A kód
Private Sub gbIgen_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
If gbIgen.Caption = "Igen" Then
gbIgen.Caption = "Nem"
gbNem.Caption = "Igen"
End If
End Sub
Private Sub gbNem_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
If gbNem.Caption = "Igen" Then
gbNem.Caption = "Nem"
gbIgen.Caption = "Igen"
End If
End Sub
Magyarázat
A kód igen egyszerű és csak egy ismeretlen elemet tartalmaz, az eljárások lefutását ebben az
esetben nem a kattintásra esemény váltja ki, hanem az, ha az egérkurzor a parancsgomb fölé
ér. Ekkor egy egyszerű elágazással a parancsgomb feliratát az ellenkezőjére változtatjuk. Az
"Egérmozgásra" eseményt lekezelő eljárás paraméterként a rendszertől megkapja az egér
pozícióját, így az eljárásunkban akár azt is felhasználhatjuk.
Operátorok
Informatikai alapismeretek modul Adatbázis-kezelés
203
A kód
Public a As Integer
Public b As Integer
Public c As String
Private Sub gbHatvany_Click()
a = Val(elso)
b = Val(masodik)
c = "Az eredmény: " & a ^ b
MsgBox c
End Sub
Private Sub gbGyok_Click()
a = Val(elso)
b = Val(masodik)
c = "A négyzetgyöke: " & Sqr(a) & " és B négyzetgyöke: " & Sqr(b)
MsgBox c
End Sub
Private Sub gbOsszead_Click()
a = Val(elso)
b = Val(masodik)
c = "Az eredmény: " & a + b
MsgBox c
End Sub
Private Sub gbKivon_Click()
a = Val(elso)
b = Val(masodik)
c = "Az eredmény: " & a - b
MsgBox c
End Sub
Private Sub gbSzoroz_Click()
a = Val(elso)
b = Val(masodik)
c = "Az eredmény: " & a * b
MsgBox c
End Sub
Private Sub gbOszt_Click()
a = Val(elso)
b = Val(masodik)
c = "A z eredmény: " & a / b
MsgBox c
End Sub
Informatikai alapismeretek modul Adatbázis-kezelés
204
Private Sub gbMaradek_Click()
a = Val(elso)
b = Val(masodik)
c = "Az eredmény: " & a Mod b
MsgBox c
End Sub
Private Sub gbEgeszoszt_Click()
a = Val(elso)
b = Val(masodik)
c = "Az eredmény: " & a \ b
MsgBox c
End Sub
Magyarázat
A kód az aritmetikai operátorok használatát mutatja be. A Val függvény a beviteli mezőbe
beírt sztringet változtatja számértékké. Külön felhívnánk a figyelmet a maradékképzés (Mod)
és az egészosztás (\) operátorára. Figyeljük meg a szövegösszefűzés (konkatenáció)
megoldását a "&" operátor használatával!
Ciklusok
A kód
Public a As Integer
Public b As String
Public c As Integer
Public i As Integer
Informatikai alapismeretek modul Adatbázis-kezelés
205
Private Sub gbGomb_Click()
Select Case Keret
Case 1
i = 0
Do
i = i + 1
Loop Until (i >= 25)
b = "A vége: " & i & ". Ez egy hátultesztelő ciklus volt"
a = MsgBox(b)
Case 2
i = 0
Do While (i < 50)
Loop
b = "A vége: " & i & ". Ez egy elöltesztelő ciklus volt"
a = MsgBox(b)
Case 3
i = 0
For c = 1 To 100
i = i + 1
Next c
b = "A vége: " & i & ". Ez egy növekményes ciklus volt."
a = MsgBox(b)
End Select
End Sub
Magyarázat
A kód a ciklusok használatát mutatja be. Figyeljük meg a ciklusváltozók lefutás után
lekérdezhető értékének változásait!
Tömbök
Informatikai alapismeretek modul Adatbázis-kezelés
206
A kód
Private Tömb(4) As Variant
Public i As Integer
Public j As Integer
Private Sub gbRendez_Click()
Dim seged As Integer
Tömb(0) = Val(egy)
Tömb(1) = Val(kettő)
Tömb(2) = Val(három)
Tömb(3) = Val(négy)
Tömb(4) = Val(öt)
For i = 1 To 4
For j = 4 To i Step -1
If Tömb(j - 1) > Tömb(j) Then
seged = Tömb(j - 1)
Tömb(j - 1) = Tömb(j)
Tömb(j) = seged
End If
Next j
Next i
egy = Tömb(0)
kettő = Tömb(1)
három = Tömb(2)
négy = Tömb(3)
öt = Tömb(4)
End Sub
Private Sub gbKiir_Click()
Dim a As String
Tömb(0) = egy
Tömb(1) = kettő
Tömb(2) = három
Tömb(3) = négy
Tömb(4) = öt
a = "A tömb elemei:"
For i = 0 To 4
If i < 4 Then
a = a & " " & Tömb(i) & ","
Else
a = a & " " & Tömb(i) & "."
End If
Next i
i = MsgBox(a)
End Sub
Informatikai alapismeretek modul Adatbázis-kezelés
207
Magyarázat
A kód a tömbkezelést hivatott bemutatni. A gbKiir_Click() eljárás csak a tömbelemek
értékadását mutatja be, a gbRendez_Click() már a tömbelemek feldolgozását (buborékos
rendezését) hivatott megvalósítani. A rendezési eljárás egymásba ágyazott növekményes
ciklusokkal oldja meg a feladatot, mely növekményes ciklusok közül a második (belső)
csökkenő sorrendű (Step -1).
With utasítás
A kód
Private Sub gbGomb_Click()
With cimke
.Caption = "Helló"
.BackStyle = 1
.BorderStyle = 1
.BackColor = 255
.BorderColor = 16711680
.FontBold = True
.FontItalic = False
.ForeColor = 65535
.Top = 300
.Left = 2500
End With
End Sub
Magyarázat
A kód a With utasítás használatát mutatja be. A gbGomb nevű parancsgombra kattintva, a
címke megadott tulajdonságai egy menetben változnak. Mint a példában is látható, a With
utasítás nagyon jól használható, ahhoz, hogy ne kelljen minden értékadás során az objektum
teljes nevét kiírni, így a kód áttekinthetőbbé vált.
Informatikai alapismeretek modul Adatbázis-kezelés
208
Tartalomjegyzék 1. fejezet ..................................................................................................................................... 2
Adatok és információk ........................................................................................................... 2
Az információs folyamat: ................................................................................................... 2
Adatbázis kezelés ................................................................................................................... 3
Adatbázis definíciója, felépítése és működése ................................................................... 3
Az adatbázis-kezelő rendszer ............................................................................................. 4
Adatmodell ......................................................................................................................... 6
Kapcsolatok ........................................................................................................................ 7
2. fejezet ..................................................................................................................................... 9
Adatmodellek ......................................................................................................................... 9
Hierarchikus ....................................................................................................................... 9
Hálós ................................................................................................................................. 10
Objektumorientált ............................................................................................................. 10
Relációs ............................................................................................................................ 10
Kulcsok ................................................................................................................................. 13
Függőségek és normál formák ............................................................................................. 14
A redundancia .................................................................................................................. 14
Funkcionális függés .......................................................................................................... 15
Részleges függés .............................................................................................................. 17
Tranzitív függés ................................................................................................................ 17
Normál formák ................................................................................................................. 18
Kapcsolatok kialakítására vonatkozó szabályok .................................................................. 21
Hivatkozási-integritási szabályok .................................................................................... 21
Speciális kapcsolatok ....................................................................................................... 22
Összegezve: Milyen a jó adatbázis? ................................................................................. 24
A tervezés folyamata ........................................................................................................ 24
3. fejezet ................................................................................................................................... 26
Az SQL ................................................................................................................................. 26
Alapvető SQL utasítások .................................................................................................. 26
A MS-Access mint relációs adatbázis kezelő rendszer ........................................................ 29
Ms-Access fogalmak ........................................................................................................ 29
A MS-Access munkakörnyezete .......................................................................................... 31
4. fejezet ................................................................................................................................... 32
A MS-Access indítása, adatbázisok létrehozása .................................................................. 32
Az Indító párbeszédpanel ................................................................................................. 32
Adatbázisok létrehozása megnyitása az Office gomb segítségével ................................. 35
Informatikai alapismeretek modul Adatbázis-kezelés
209
A Navigációs ablak .............................................................................................................. 36
Szalagmenü szerkezet .......................................................................................................... 38
Videokazetták adatbázis ....................................................................................................... 39
Kapcsolatok ...................................................................................................................... 40
Használat .......................................................................................................................... 40
Táblák kezelése .................................................................................................................... 43
A Northwind adatbázis ..................................................................................................... 43
A Microsoft Access objektum-elnevezési szabályai ............................................................ 44
A tábla mint Microsoft Access objektum ............................................................................. 44
Táblában használt adattípusok ............................................................................................. 44
Mezőtulajdonságok .............................................................................................................. 47
Mezőméret ........................................................................................................................ 48
Formátum ......................................................................................................................... 49
Tizedes helyek .................................................................................................................. 50
Cím ................................................................................................................................... 51
Alapértelmezett érték ....................................................................................................... 51
Érvényességi szabály ........................................................................................................ 51
Érvényesítési szöveg ........................................................................................................ 51
Új értékek ......................................................................................................................... 51
Beviteli maszk .................................................................................................................. 51
A beviteli maszkokban használatos karakterek ................................................................ 51
Kötelező ........................................................................................................................... 52
Nulla hosszúság engedélyezése ........................................................................................ 52
Indexelt ............................................................................................................................. 53
5. fejezet ................................................................................................................................... 54
Táblák használata ................................................................................................................. 54
Nézetek ............................................................................................................................. 54
Új tábla létrehozása .......................................................................................................... 56
Munka Tervező nézetben ................................................................................................. 59
Munka Adatlap nézetben .................................................................................................. 65
Kapcsolatok .......................................................................................................................... 67
Hivatkozási integritás ....................................................................................................... 69
Kaszkádolás ...................................................................................................................... 70
6. fejezet ................................................................................................................................... 73
Lekérdezések I. ..................................................................................................................... 73
Lekérdezések szerepe ........................................................................................................... 73
Lekérdezések fajtái ............................................................................................................... 73
Informatikai alapismeretek modul Adatbázis-kezelés
210
Rekordhalmazt eredményező lekérdezések ......................................................................... 74
Választó lekérdezés .......................................................................................................... 74
7. fejezet ................................................................................................................................... 86
Lekérdezések II. ................................................................................................................... 86
Kereszttáblás lekérdezés .................................................................................................. 92
Akció lekérdezések .............................................................................................................. 95
Táblakészítő ..................................................................................................................... 95
Törlő ................................................................................................................................. 95
Hozzáfűző ......................................................................................................................... 95
Frissítő .............................................................................................................................. 96
Akció lekérdezések létrehozása ....................................................................................... 96
8. fejezet ................................................................................................................................. 102
Űrlapok I. ........................................................................................................................... 102
Űrlapok fajtái ...................................................................................................................... 102
Űrlapok részei .................................................................................................................... 102
Űrlapok használata ............................................................................................................. 103
Nézetek ........................................................................................................................... 103
Űrlaptulajdonságok ............................................................................................................ 107
Formátumbeállítások (a fontosabbak) ............................................................................ 108
Adatbeállítások ............................................................................................................... 109
Eseménybeállítások ........................................................................................................ 109
Egyéb tulajdonságok beállításai ..................................................................................... 111
Űrlapok létrehozása ............................................................................................................ 112
Űrlap lehetőség (Autoűrlap) ........................................................................................... 113
Varázslóval ..................................................................................................................... 113
Tervező nézetben ............................................................................................................ 116
9. fejezet ................................................................................................................................. 119
Fő és segédűrlapok használata és létrehozása .................................................................... 119
Fő és segédűrlap létrehozása .......................................................................................... 120
Vezérlőelemek használata űrlapokon ................................................................................. 128
Címke ............................................................................................................................. 129
Beviteli mező .................................................................................................................. 131
Vezérlőelem-csoport ...................................................................................................... 133
Váltógomb ...................................................................................................................... 134
Választógomb ................................................................................................................. 134
Jelölőnégyzet .................................................................................................................. 135
Kombinált lista ............................................................................................................... 135
Informatikai alapismeretek modul Adatbázis-kezelés
211
Lista ................................................................................................................................ 141
Parancsgomb .................................................................................................................. 141
Kép ................................................................................................................................. 144
Kötetlen vagy kötött objektumkeret ............................................................................... 144
Segédűrlap/Segédjelentés ............................................................................................... 145
Vonal, téglalap ............................................................................................................... 145
Karton vezérlőelem ........................................................................................................ 146
10. fejezet ............................................................................................................................... 147
Jelentések ........................................................................................................................... 147
Jelentések részei ................................................................................................................. 147
Jelentések szakaszai ........................................................................................................... 147
Jelentések használata .......................................................................................................... 148
Tulajdonságok (a fontosabbak) ...................................................................................... 149
Jelentések létrehozása ........................................................................................................ 150
Jelentés létrehozása (AutoJelentés) ................................................................................ 150
Varázslóval ..................................................................................................................... 150
Tervező nézetben ............................................................................................................ 155
Paraméteres lekérdezésre építve ..................................................................................... 162
11. fejezet ............................................................................................................................... 163
Makrók ............................................................................................................................... 163
Makrónézetek ..................................................................................................................... 164
Makróműveletek ................................................................................................................. 164
Makrók létrehozása ............................................................................................................ 168
Modulok ............................................................................................................................. 172
A Modul ablak .................................................................................................................... 173
Saját eljárások létrehozása és futtatása ............................................................................... 174
12. fejezet (Kiegészítő anyag) ................................................................................................ 176
Visual Basic for Applications programozási alapok .......................................................... 176
Visual Basic változótípusok ............................................................................................... 176
Elemi adattípusok ........................................................................................................... 176
Tömbök .......................................................................................................................... 177
Felhasználói adattípus .................................................................................................... 177
Változó deklarációk ............................................................................................................ 178
Változónevek .................................................................................................................. 178
String literálok ................................................................................................................ 178
Megjegyzések, számok, utasítások ................................................................................. 178
Hatókör és élettartam ..................................................................................................... 179
Informatikai alapismeretek modul Adatbázis-kezelés
212
Műveletek (operátorok) ...................................................................................................... 179
Konstansok ......................................................................................................................... 180
Alapvető vezérlési szerkezetek .......................................................................................... 180
Szekvencia ...................................................................................................................... 180
Vezérlésátadó utasítások ................................................................................................ 180
Elágazások ...................................................................................................................... 181
Ciklusok ......................................................................................................................... 181
Kilépő utasítások ............................................................................................................ 182
A With utasítás ............................................................................................................... 182
Alprogramok ...................................................................................................................... 183
Esemény-eljárások ......................................................................................................... 183
Általános alprogramok ................................................................................................... 183
Objektum-orientált programozás, öröklődés ...................................................................... 184
Objektumok és osztálymodulok ..................................................................................... 184
Objektumváltozók deklarálása ....................................................................................... 185
Objektumváltozók kezelése ............................................................................................ 185
Jellemzők ........................................................................................................................ 186
Öröklődés ....................................................................................................................... 186
A Modul ablak használata .................................................................................................. 186
A fejlesztőkörnyezet elemei ........................................................................................... 186
Munka a Kódszerkesztő ablakban .................................................................................. 189
Példamodulok ..................................................................................................................... 195
Értékadás és üzenetablak ................................................................................................ 195
Többirányú elágazás ....................................................................................................... 197
Mozgatás ........................................................................................................................ 199
Véletlenszámgenerálás ................................................................................................... 200
Óra .................................................................................................................................. 201
Igen-nem ......................................................................................................................... 202
Operátorok ...................................................................................................................... 202
Ciklusok ......................................................................................................................... 204
Tömbök .......................................................................................................................... 205
With utasítás ................................................................................................................... 207
Tartalomjegyzék ..................................................................................................................... 208