212
Informatikai alapismeretek modul Adatbázis-kezelés Adatbázis-kezelés Összeállította: Fodor András BARHÁCS OKTATÓKÖZPONT

ADATBÁZIS KEZELÉS

  • Upload
    kalmi56

  • View
    405

  • Download
    3

Embed Size (px)

Citation preview

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

42

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