Előszó Amikor számítógépről van szó, vagy általában informatikai környezet vesz körül, egyből arra a gyorsaságra gondolunk, amivel akár bonyolult műveleteket is végre tud hajtani. Általában az első funkció, ami kihasználja ezt a gyorsaságot, a keresés, ami alatt egy adat vagy adatcsoport kivonását értjük egy archívumból, a felhasználó tetszése szerint beállítható paraméterek alapján. Ehhez szükséges egy adatbázis, vagyis egy archívum, ami egyénekre és dolgokra vonatkozó adatokat tartalmaz, mint pl. egy gyár ügyfelei, címek, a szállítandó anyagok mennyisége, raktár... stb. A Microsoft Office 2003 két programot bocsát a rendelkezésünkre, erre a célra: az Excel-t és az Access-t. Míg az első inkább a számításokra irányul egy táblázatstruktúrában a felhasználó által megadott képletek alapján; a másik szinte kizárólag az adatok tárolására és kezelésére készült. Az ACCESS használata összefoglaló táblákon alapul, amelyek rendszerezik az archívumot alkotó egységek összes tulajdonságát. Ezen információk összességét táblázat formájában hívják adatbázisnak. Ebben a könyvben elsősorban gyakorlati példákon keresztül mutatjuk be, hogy milyen hasznos és egyben könnyen kezelhető a Microsoft Office 2003 programcsomag Microsoft Office Access 2003 nevű adatbázis-kezelő programja. A könyv fejezetről-fejezetre vezet át bennünket az adatbázis-kezelés csodálatos világába. A leckék egymásra épülnek, ezért nagyon fontos, hogy minden órán pontosan és jól dolgozzunk, munkánkat minden alkalommal gondosan elmentsük.
Adatbázisok Mit jelent az, hogy adatbázis? Ismételjük át az alapfokon tanultakat! Ahhoz, hogy ne csak megtanuljuk, hanem értsük is, amit kijelentünk, előbb az alapfogalmakat kell tisztáznunk. Maga az Access felépítése, kezelése nagyon egyszerű, az adatok felvitele, lekérdezése sem jelenthet nagyobb problémát, hiszen a Microsoft igyekezett ezt a programot is a lehető legkönnyebben kezelhetővé, és megtanulhatóvá tenni. A legnagyobb gondosságot és figyelmet az adatbázis felépítésére, megtervezésére kell fordítanunk. Egy jó stratégia, a megfelelő adatmodell kiválasztása, adatbázisunk szerkezetének ennek megfelelő kialakítása alapja az egész munkánknak. Mint tudjuk, jó alapra már könnyű építkezni, de ha itt vétünk, később egész munkánk öszszeomolhat. Kezdjük tehát az alapokkal!
Lecke Alapfogalmak A mindennapi élet szinte minden területén, ha nem is tudunk róla, kapcsolatban állunk nem egy adatbázissal. Van TAJ számunk, adószámunk, bankkártyánk, munkahelyi személyi nyilvántartó kódunk, tanfolyami azonosítónk stb. Ezek mind-mind részei egy már működő adatbázisnak. De mi van feljegyzéseinkkel, könyveinkkel, telefonszámainkkal, kiadásainkkal és bevételeinkkel? Ezek is olyan információkat, adatokat tartalmaznak, melyek rendszerezett tárolás nélkül később már elérhetetlenek lesznek számunkra. Az információ és az adat látszólag ugyanazt jelenti, sokszor azonos értelemben is használják őket. A számítástechnikában az adat az észlelhető, érzékelhető, felfogható ismeret, az információ pedig az értelmezett adat. Az információ mindig valami újat közöl, bizonytalanságot szüntet meg, és ez által döntésre, válaszra, magatartásunk megváltoztatására késztethet. A fentiekből kiindulva egyértelművé válik, hogy az adat magában még nem jelent információt, akkor lesz belőle információ, ha azt valamilyen formában feldolgozzák, értelmezhetővé teszik. Ezért a számítástechnikában az adat csak egy jelsorozat, amelyből a feldolgozás során válik információ.
Az adatállomány olyan összefüggő adathalmaz, amelyben minden olyan adat megtalálható, amire egy bizonyos cél megvalósítása érdekében szükség lehet 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. 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 is. Ez már egy rendszert ad az adatok tárolásához. Így minden könyv helye meghatározott. De bizonyára nehéz helyzetben lennénk, ha szerző súlya alapján próbálnánk meg előkeresni egy könyvet. Ezért feltételként kell megszabni azt is, hogy az adatok tárolásába bevitt rendszernek alkalmasnak kell lennie a leggyakrabban előforduló igények hatékony kielégítésére. Ebből kiindulva az adatbázis olyan adatgyűjtemény, amely egy adott témához, vagy feladathoz kapcsolódó adatokat szervezett módon tárolja, biztosítja az adatokhoz való hozzáférést, az adatok integritásának megőrzését, és az adatok védelmét. Az adatbázisok kezelését megkönnyítő rendszerek az adatbázis-kezelő rendszerek. Az adatbázis-kezelő rendszerek az adatbázisban lévő adatok rögzítésére, tárolására és kezelésére szolgálnak. Az Access is egy ilyen adatbázis-kezelő rendszer, amelynek segítségével új adatbázisokat tudunk létrehozni, illetve a meglévő adatbázisokban tudunk új adatokat felvinni, adatokat törölni, módosítani, adatokban keresni.
Az adatbázis-kezelő rendszerek főbb funkciói: adatbázisok létrehozása, adatbázisok tartalmának definiálása, adatok tárolása, adatok lekérdezése, adatok védelme, biztonsága, adatok titkosítása, hozzáférési jogok kezelése, hozzáférések szinkronizációja, fizikai adatszerkezetek szervezése. Az adatbázis-kezelő rendszer tehát az a programrendszer, amelynek feladata az adatbázishoz való hozzáférések biztosítása, és az adatbázis belső karbantartási funkcióinak végrehajtása. Az adatbázis-kezelő rendszer rövidítése az angol elnevezése alapján (Date Base Management System) alapján: DBMS. Az adatbázis-kezelő rendszerekben az információkat táblákban tároljuk. A tábla mezőkre és rekordokra osztható. A mezők a tábla oszlopai, melyek nem mások, mint az egyes egyedek tulajdonságai. A mezőket mezőnevekkel azonosítjuk. A rekordok a tábla sorai, amelyek az egy egyedhez tartozó adatokat tartalmazzák.
Adatbázis szerkezetek (adatmodellek) Egy-egy önálló adatállomány, vagy tábla sok esetben nem tartalmaz elegendő adatot bizonyos információk meghatározásához. Ilyenkor szükségessé válhat az adatállományok (táblák) együttes kezelése valamilyen adatbázis-szerkezet, más néven, adatmodell alapján. Több adatmodell is létezik, de ebből csak három terjedt el igazán. Hierarchikus adatmodell: Az adatokat egy hierarchikus szerkezetben tárolja, mely egy fához hasonlítható leginkább. A fa mindegyik csomópontja egy rekordtípusnak felel meg. Az adatok között un. szülő-gyermek kapcsolat van, minden adatnak tetszőleges számú leszármazottja lehet, de csak egy őse. Előnye, hogy a hierarchikus szerkezet egyszerűen leírható, könnyen elkészíthető, mágnesszalagon is tárolható. Napjainkban ez az adatbázis már elavult. (1. Ábra)
1. Ábra Hálós adatmodell: A hierarchikus modell továbbfejlesztése. Ebben a modellben az adatok között tetszőleges kapcsolatrendszer alakítható ki. Egy adatnak több őse is lehet. Hátránya: bonyolult kapcsolatok, nagy tárolóigény. Nagygépes környezetben fordul elő. (2. Ábra)
2. Abra Relációs adatmodell: A különböző jellegű, de mégis kapcsolatba hozható adathalmazokat önálló táblákban tároljuk, amely táblák között egy azonos adatot tartalmazó mező tartja a kapcsolatot. Jelenleg ez a legelterjedtebb adatmodell. Ezt az adatmodellt támogatják a legismertebb adatbázis-kezelő programok is, mint a dBase, Clipper, FoxPro, Access, Oracle stb. Objektumorientált adatmodell: Valósághű adatbázist lehet tervezni és készíteni az objektumorientált technikával. Ez a modell ma még nem terjedt el. Az általunk tanult adatbázis-kezelő rendszer (Access) relációs adatmodellen alapul.
3. Ábra
Relációs adatbázis-kezelő rendszerek Relációs adatbázis-kezelő rendszernek olyan programot nevezünk, amelyik az adatokat számítógépen táblákban (relációkban) tárolja, rendezi, illetve onnan keresi vissza. Relációs adatbázis az olyan adatbázis, amelyik több összekapcsolt táblából áll. A relációs adatbázis-kezelő rendszer alkalmas arra, hogy több adattáblát logikailag összekapcsoljon egymással, és megkeresse bennük a közös információkat. Ahhoz, hogy egy táblát relációnak lehessen tekinteni, a következő feltételeket kell kielégítenie: - nem lehet két egyforma sora, - minden oszlopnak egyedi neve van, - a sorok és oszlopok sorrendje tetszőleges. Nézzük meg, hogy az alábbi tábla megfelel-e ezeknek a feltételeknek! Kaz 00001
Szerző
Cím
Ár
Gárdonyi Géza
Ida regénye
850 Ft
00002
Fekete István
Tüskevár
180 Ft
00003
Gárdonyi Géza
Egri csillagok
520 Ft
A fenti táblázat tehát reláció, mégpedig olyan, amelyik a KÖNYV egyedet négy tulajdonságával: az azonosítójával, szerzőjével, címével és árával írja le. Látható, hogy a reláció sorai konkrét egyed-előfordulásokat, oszlopai pedig konkrét tulajdonságértékeket adnak meg.
A relációs adatbázisok általában nem egy, hanem több, logikailag összekapcsolható táblákból állnak. A táblák között meghatározott kapcsolat van. A tervezésnél nagyon fontos, hogy ezeket a kapcsolatokat jól építsük fel. A relációs adatbázis felépítésének alapja a normalizálás, amely az adatok optimális elhelyezési módját megadó módszert jelenti.
Lecke Normalizálás A normalizáláshoz szükséges alapfogalmak felsorolása: Elsődleges kulcs: Minden relációban (táblában) van olyan oszlop vagy akár oszlopok, amely a rekord többi attribútumát egyértelműen azonosítja. Az ilyen mezőt (mezőket) a reláció elsődleges kulcsának, vagy kulcsmezőnek nevezzük. Szuperkulcs: Ha a relációnak van egyetlen egy olyan oszlopa, amely egyértelműen azonosítja a rekordot, akkor azt szuperkulcsnak nevezzük (pl.. személyi szám). Függőségek: a)Funkcionális függőség: erről akkor beszélünk, ha egy rendszerben szereplő egyik tulajdonságtípus bármely értékéhez egy másik tulajdonságtípusnak csakis egy értéke rendelhető hozzá. pl. Egy személyi számhoz csak egy név tartozhat, de ugyanahhoz a névhez már több személyi szám is kapcsolódhat. (egy a többhöz kapcsolat) b) Kölcsönös funkcionális függőség: ha az előbbi feltétel mindkét irányba igaz (egy az egyhez kapcsolat). pl. rendszám - motorszám
c) Funkcionálisan függetlenek: ha az előbbiekben ismertetett viszony a két tulajdonságtípus között nem áll fenn. pl. dolgozó hajának a színe és a cég telephelye. d) Tranzitív funkcionális függőség: ha egy egyedtípuson belül egy leíró tulajdonságtípus konkrét értékei meghatároznak más leíró tulajdonság értékeit. pl. a FEOR kód meghatározza a szakképzettséget. 1NF (első normál forma), ha minden sorában oszloponként egy és csak egy érték áll, az értékek sorrendje minden sorban azonos, minden sor különböző. Van legalább egy vagy több tulajdonság, vagy tulajdonság csoport, amelyekkel a sorok egyértelműen megkülönböztethetők egymástól. 2NF (második normál forma), ha 1NF-ban van, és minden olyan érték, amely nem kulcs, funkcionálisan teljesen függ az elsődleges kulcstól. 3NF (harmadik normál forma), ha 2NF-ban van és csak az elsődleges, vagy az alternatív kulcsoktól függnek az attribútumok. Ha a "B" attribútum értéke függ "A" attribútum értékétől, valamint "C" attribútum értéke függ "B" attribútum értékétől, ebből következik, hogy "C" attribútum értéke tranzitíven függ "A" értékétől. A harmadik normál forma elengedhetetlen követelménye az ilyen tranzitív függések kiküszöbölése. Ha az adatbázis táblája nem 3NF formájú, akkor két táblára kell bontani úgy, hogy az egyes táblák külön-külön már 3NF formájúak legyenek. Egy szerszámok bérbeadásával foglalkozó üzlet forgalmát egy füzetben az alábbiak szerint vezetnénk:
Dátum
Név
Cím
1997.02.05
Nagy Ferenc Eper u. 5. Koós Nóra Nap u. 3. 1997.02.06. Nagy Ferenc Eper u. 5. Szabó Pál Koós Nóra
Király u. 1. Nap u. 3.
Szerszám Kategória Díj sarokcsiszoló ' kis hegesztőgép közepes festékszóró közepes
500 1000 1000
fűnyíró láncfűrész
2000 2000
nagy nagy
Ez még nem reláció, mert nem teljesíti azt a követelményt, hogy egy sorban csak egy oszlopérték lehet. 1NF alakú akkor lesz, ha a dátumot kitöltjük minden sorban. Ekkor még rengeteg a táblázatban a redundancia, mert ugyanazok a dátumok többször is szerepelnek a táblázatban. Ilyen formában az alábbi anomáliák is fennállnak. Törlési anomália: egy fölöslegessé vált adat törlésével számunkra lényeges adatot is törlünk. Pl. a fűnyíróval kitörlődik Szabó Pál is, pedig később még kölcsönözhet, és akkor jó lenne, ha adatai a nyilvántartásban maradtak volna. Módosítási anomália: egy adat megváltoztatása miatt több helyen kell a mezők tartalmát megváltoztatni. Pl. a közepes kategóriájú szerszámok díjának változásakor. Beírási anomália: új adat felvitelénél nem tudunk minden mezőt kitölteni. Pl. új szerszám került az üzletbe, de még nem kölcsönözte ki senki. Ebben a formában elsődleges kulcs lehet a Név, Szerszám és a Kategória, mert Név meghatározza a Címet, a Szerszám a Kategóriát és a Kategória meghatározza a Díjat. Dátum Név Cím Szerszám Kategória Díj
2NF, ha az elsődleges kulcsoktól részben függő több különálló táblázatot készítünk. 1. táblázat Sorszám I Dátum I Név I Szerszám 2. táblázat Szerszám I Kategória I Díj 3. táblázat Név I Cím Még így is marad egy törlési anomália, mert ha egy Szerszámot törlünk, akkor törlődik vele a Kategória és a Díj is.
3NF, ehhez a második táblázatot kell két táblázatként kezelni. 2/a táblázat Szerszám I Kategória 2/b táblázat Kategória I Díj Nézzük meg, hogyan kapcsolódnak össze ezek a táblák egymással:
Természetesen a négy táblázatot együtt kell majd használni, hiszen legtöbb esetben csak több tábla együttes használatával lehet adatokat kiolvasni az adatbázisból. Például, ha arra vagyok kíváncsi, hogy ki (lakcímmel együtt), milyen szerszámot, hány forintért kölcsönzött ki, mind a négy táblára szükségem van. Ha csak arra vagyok kíváncsi, hogy milyen kategóriájú szerszámokat kölcsönöztek ki, ehhez elegendőek a Kölcsönzések és a Szerszámok táblában található adatok is. A táblák közös használatát az teszi lehetővé, hogy mindegyik tábla tartalmaz egy olyan mezőt, mely egy másik táblában is előfordul. Ez a mező a kapcsolómező.
Információs rendszerek elkészítésének lépései Ahhoz, hogy elkészítsünk egy információs rendszert, amely tartalmazza az összes olyan adatot, melyre a későbbiekben szükségem lehet, mindenekelőtt az alábbi lépéseket kell elvégezni:
feladat megfogalmazása, részfeladatokra bontása adatok összegyűjtése és elemzése, adatbázis-tervezés, normalizálás és a táblakapcsolatok meghatározása, adatbázis elkészítése, tesztelése. Feladat megfogalmazása, részfeladatokra bontása Ebben a fázisban jelentős szerepet kap a megrendelő, aki megfogalmazza nekünk, hogy milyen jellegű adatbázist szeretne, milyen adatokra van szüksége, a kész információs rendszernek milyen speciális feladatot kell ellátni. Ezek tisztázása során egyeztetjük a megrendelővel elképzeléseinket, Ha szükséges, akkor a feladat meghatározásánál részfeladatokat hozunk létre, és ezeket külön-külön tárgyaljuk. Megtervezzük az egyes részfeladatok közötti kapcsolatot, valamint az adatfeldolgozás folyamatát. Adatok összegyűjtése és elemzése Az adatfeldolgozás folyamatának meghatározása után összegyűjtjük, elemezzük az egyes részfeladatokhoz szükséges adatokat. Meghatározzuk a feldolgozásban résztvevő egyedek tulajdonságait, az egyedek közötti kapcsolatokat. Adatbázis-tervezés, normalizálás, táblakapcsolatok meghatározása A témakörönként csoportosított adatok alapján a relációs adatmodellnek megfelelően létrehozzuk a táblákat, meghatározzuk a táblák közötti kapcsolatokat. Adatbázis elkészítése Ha már megvannak az adatbázis táblái és kapcsolatai, akkor az igényeknek megfelelően létrehozzuk a szükséges űrlapokat, lekérdezéseket és jelentéseket.
Az Analizáló lefuttatása Az elkészült adatbázisra célszerű lefuttatni a táblaanalizáló programot is, mely egy tábla tervét elemzi, sőt javaslatokat tesz illetve képes is kijavítani a felmerült problémákat. Az adatbázis hatékonyabbá tételéhez viszont a teljesítményanalizálót futassuk le, mely szintén tanácsokat, ötleteket ad az adatbázis elkészítéséhez. Tesztelés folyamata A tesztelés során az egyes rendszerösszetevőket először különkülön, majd együtt is ki kell próbálni, hiba esetén a szükséges módosításokat el kell végezni. A kipróbáláshoz célszerű a rendszert feltölteni adatokkal. Miután a tesztadatokkal kipróbáltuk adatbázisunkat, töltsük azt fel valós adatokkal.
Munka az Access-ben Az Microsoft Office Access 2003 programjának elindítása után a 4. Ábrán látható ablak jelenik meg előttünk.
4. Ábra
A Microsoft Access három eljárást is kínál Access adatbázis létrehozásához. 1. Adatbázis létrehozása az Adatbázis varázslóval Az Adatbázis varázslóval egyszerre készíthetjük el a választott adatbázistípus valamennyi szükséges tábláját, űrlapját és jelentését, ez a legegyszerűbb mód. A varázsló néhány beállítást is kínál az adatbázis testreszabásához. 1. Kattintsunk az eszköztáron az Új gombra. 2. Az Új fájl munkaablakban a Sablonok csoportban kattintsunk A saját számítógépen elemre. 3. Az Adatbázisok panellapon kattintsunk a létrehozni kívánt adatbázistípusnak megfelelő ikonra, majd kattintsunk az OK gombra. 4. Adjuk meg az adatbázis nevét és helyét az Új adatbázis párbeszédpanelen, majd kattintsunk a Létrehozás gombra. 5. Kövessük az Adatbázis varázsló utasításait. Megjegyzés: Meglévő adatbázisba nem vehetünk fel új táblákat, űrlapokat vagy jelentéseket az Adatbázis varázsló segítségével. 2. Adatbázis létrehozása sablon használatával Ez az adatbázisok létrehozásának leggyorsabb módszere. Leghatékonyabban akkor működik, ha az igényeknek leginkább megfelelő sablont veszünk igénybe. 1. Kattintsunk az eszköztáron az Új gombra. 2. Az Új fájl munkaablakban a Sablonok csoportban válasszuk ki a kívánt sablont, vagy a Sablonok honlapja hivatkozásra kattintva keressünk megfelelő sablont.
3. Kattintsunk a kívánt sablonra, és kattintsunk a Letöltés elemre. 3. Adatbázis létrehozása az Adatbázis varázsló segítsége nélkül Készíthetünk üres adatbázist is, amelybe később vesszük fel a kívánt táblákat, űrlapokat, jelentéseket és más adatbázis-objektumokat; ez az eljárás több rugalmasságot biztosít, de ekkor az adatbázis elemeit külön meg kell határozni. Az adatbázist később tetszés szerint módosíthatjuk és bővíthetjük, bármelyik eljárással hoztuk is létre. 1. Kattintsunk az eszköztáron az Új gombra. 2. Az Új fájl műveleti ablaktábla Új rovatában kattintsunk az Üres adatbázis elemre. 3. Adjuk meg az adatbázis nevét és helyét az Új adatbázis párbeszédpanelen, majd kattintsunk a Létrehozás gombra. (5. ábra)
5. Ábra Megnyílik az Adatbázis ablak, amelyen elkészíthetjük az adatbázisba felvenni kívánt objektumokat.
Objektumok Az Access-ben objektumokkal dolgozunk. A megfelelő objektumra való kattintás után megtekinthetjük az adott objektum összes példányát, a felső gombokra való kattintással a meglévő objektumokat megnyithatjuk (Megnyitás), módosíthatjuk (Tervezés), illetve új objektumokat hozhatunk létre (Új). Táblák: A táblák tartalmazzák az adatainkat. A táblák az adatbázisok klasszikus felépítése szerint mezőkből (oszlopokból) és rekordokból (sorokból) állnak. Lekérdezések: A lekérdezések egy vagy több tábla adatainak általunk megadott szempontok szerinti megtekintésére, összegyűjtésére, elemzésére, módosítására, és törlésére szolgálnak. A lekérdezések űrlapok és jelentések forrásai is lehetnek. Űrlapok: Az űrlapok segítségével az adatokat tetszetősebb formában vihetjük be, tekinthetjük meg és módosíthatjuk. Jelentések: A jelentések segítségével esztétikusabb formájú kimutatásokat, jelentéseket készíthetünk, nyomtatásra előkészítjük a rekordokat. Lapok: Adatelérési lapok használatával közzétehetjük az adatokat az interneten vagy intraneten, interaktív jelentésekkel dolgozhatunk, adatokat elemezhetünk és vihetünk be. A Microsoft Access kikeresi az adatokat a megfelelő táblákból, és megjeleníti azokat a képernyőn a Lap varázslóval elkészített vagy saját elképzeléseink szerint kialakított elrendezésben. Makrók: Gyakran előforduló feladatok automatizálására szolgáló kis programok. A makró egy sor utasítást tartalmaz, amelyek a makró futtatásakor egymás után végrehajtódnak. Modulok: A modul lényegében deklarációk, utasítások és eljárások együtt tárolt gyűjteménye, amely segít a Microsoft
Visual Basic kód megfelelő szervezésében. A Microsoft Access moduljainak két alapvető típusa van: globális modulok és osztálymodulok. Osztálymodulok Az űrlapmodul és a jelentésmodul olyan osztálymodul, amely 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ésben bekövetkezett eseményre válaszol. Az eseményvezérelt eljárásokkal vezérelhetjük az űrlapok és a jelentések viselkedését, valamint a felhasználói műveletekre adott válaszokat, ilyen művelet például a parancsgombra kattintás. Amikor az űrlap vagy a jelentés első eseményvezérelt eljárását hozzuk létre, akkor a Microsoft Access automatikusan létrehoz egy kapcsolódó űrlap- vagy jelentésmodult. Űrlapeljárás megtekintéséhez vagy felvételéhez válasszunk egyet az űrlap objektumai közül az Object mezőben, majd válasszunk eseményt a Procedure mezőből (az eljárással rendelkező események neve félkövér) Az űrlap- és jelentésmodulokban található eljárások hívhatnak a globális modulokba felvett eljárásokat is. Access 97 és az újabb verziókban létezhetnek űrlaptól és jelentéstől független osztálymodulok is, és az ilyen típusú osztálymodulok listája az Adatbázis ablakban jelenik meg. Az osztálymodulok segítségével egyéni objektumok definícióját hozhatjuk létre. Az Access 95 programban csak űrlappal és jelentéssel kapcsolatos osztálymodulok léteznek. Globális modulok
A globális modulok olyan általános eljárásokat tartalmaznak, amelyek nincsenek kapcsolatban más objektummal, illetve olyan gyakran használt eljárásokat, amelyeket bárhonnan lehet futtatni az adatbázison belül. A globális modul és az adott objektumhoz nem kapcsolódó osztálymodul között a fő különbség az elérhetőségben és az élettartamban van. Az osztálymodulban kapcsolódó objektum nélkül deklarált vagy létező állandók és változók értéke csak a kód futtatásakor érhető el, és csak abban az objektumban. Függvénynév és argumentumok Visual Basic deklarációk és utasítások A globális modulok felsorolását az Adatbázis ablakban az Objektumok lista Modulok eleme tartalmazza. Az Objektumtallózóban megtalálható az űrlap-, a jelentés- és globális modulok listája is.
Táblák és kapcsolatok Az alapok ismétlése után kezdjünk el egy konkrét adatbázist felépíteni. Megrendelőnk, egy Biztosan nyerő nevet viselő ingatlanközvetítő iroda, mely eladó és bérelhető ingatlanok, kiközvetítésével foglalkozik. Megrendelőnk külön kérése volt, hogy az adatbázist úgy készítsük el, hogy az később ne csak ingatlanok, hanem járművek közvetítésével, bérbeadásával kapcsolatos adatok rögzítésére is alkalmas legyen. M adatbázis tábláit ezért úgy kellett kialakítani, hogy ezeknek az igényeknek megfeleljen.
Lecke Az adatbázis megtervezése Első lépésben meg kell határozni, milyen táblákra is lenne szükségünk ahhoz, hogy ügyfelünk kérésének megfelelően külön tároljuk a bérelhető, illetve eladható ingatlanokat. A megrendelő szeretné, hogy az ügyfelei és az ügynökök (ha vannak) adatait különállóan is lehessen karbantartani. Ugyanakkor, bizonyos elemeket a munka megkönnyítése érdekében listából szeretné kiválasztani. Fontos szempont még, hogy az adatbázis folyamatosan karbantartható és bővíthető legyen.
A táblák normalizálása Miután összegyűjtöttük mindazokat az információkat, melyekre ügyfelünknek szüksége lehet, hozzá kell fogni az adatbázisban szereplő táblák kialakításához, a normalizálásnál tanult szabályok figyelembevételével. A normalizálás érdekében elemezzük ki a következő tábla adattartalmát: Ingatlankód
Felvétel Típus
Cím kód
Tulajkód
Név
Lak cím
Ügynök Ügynök név kód
Telefon
0001
99.05.15 Lakás Tó 13. 001
Gere Imre
Borz 11.
013
Kis Pál
243-321
0002
99.05.15 Kertes Ág 21. 001 ház
Gere Imre
Borz 11.
013
Kis Pál
243-321
0003
99.05.21 Lakás Nincs 002' Samu Nincs 15. Ferenc 15. 99.05.22 Telek Jókai 003 Joó Búvár 41. Gábor 33.
013
Kis Pál
243-321
0004
008
Nagy Ede 241-620
A táblázat jól mutatja, hogy többször is előfordul az az eset, hogy több ingatlan tulajdonosa ugyanaz a személy. Ha egy ilyen ügyfél megváltoztatja a lakcímét - ahhoz, hogy az adatbázis mindenkor a korrekt adatokat szolgáltassa -, több helyen is el kell végezni ezeket a módosításokat. Ha a 0003-as ingatlant törölni szeretnénk, vele együtt töröljük az ügyfelünk adatát is, mivel máshol nem tároljuk. Még rosszabb a helyzet a 0004-es ingatlan esetében, amikor a törlés következtében az ügyfél és az ügynök adatait is elveszítjük. Ugyanakkor, ha fel szeretnénk venni adatbázisunkba egy új üzletkötő adatait, ezt nem tehetjük meg, mert nem érvényesül a relációs adatbázis alapvető követelménye, hogy minden mező ki legyen töltve. Nincs más hátra, mint hogy elvégezzük a táblákban a szükséges normalizálásokat és kiküszöböljük a tranzitív függéseket, valamint az úgynevezett anomáliákat.
A tábla mezőinek meghatározása, pontosítása, valamint az adatbázis normalizálása után a tervezett adatbázisunkat a függőségi diagram segítségével a 6. Ábrán tudjuk szemléltetni.
6. Ábra Többszöri egyeztetés után arra a megállapításra jutottunk, hogy a normalizálás szabályait is figyelembe véve, az előforduló anomáliákat kikerülve az alábbi táblákra lesz szükségünk. Bérlemény tábla, amelyben a bérelhető ingatlanok szerepelnek, és minden rekord egyedi azonosítóval rendelkezik. A táblában minden olyan fontos információnak szerepelnie kell, mely fontos lehet egy ingatlan bérbeadásában. Eladó tábla, amelyben az eladó ingatlanok szerepelnek, szerkezetük megegyezik a Bérlemény tábla szerkezetével, természetesen az egyedi azonosítót kivéve. Ingatlanok tábla, amelyben az ingatlanok típusai szerepelnének (kertes ház, lakás, stb.). Ezt az értéket a felhasználó egy listából szeretné majd kiválasztani. Ugyanakkor fontos, hogy kezelhető, bővíthető legyen. Tulajdonos tábla, amely az ingatlanok tulajdonosait tartalmazza az összes olyan értékkel, melyet a tulajdonos meg kíván adni.
Ügynök tábla, amely az üzletkötők adatait foglalja magában. Település tábla, amely egy könnyen karbantartható, helységneveket és azok irányítószámait tartalmazó tábla, az értéket itt is szintén egy listából kell kiválasztani. A tervezett adatbázisunkat normalizált formában, a Kapcsolatok ablakban a 7. Ábrán látottak szerint tudjuk szemléltetni.
7. Ábra Az egész táblaszerkezet úgy lett kialakítva, hogy a járművek forgalmazásához, bérbeadásához szükséges két táblát is tartalmazza (amelyet mindenki önállóan szorgalmi feladatként viszonylag könnyen beépíthet a rendszerbe), ezeket bármikor hozzácsatolhatjuk a már meglévő és üzemelő rendszerünkhöz. Természetesen az elkészített tábláinkat majd együtt kell hasz-
nálnunk ahhoz, hogy különböző, számunkra fontos kérdésekre választ kapjunk. A közös használatot az teszi lehetővé, hogy minden táblában van egy úgynevezett kapcsolt mező, melyen keresztül az összes információ megjeleníthető. Előfordulhat, hogy egy teljes táblát a kapcsolat közreműködésére fogunk felhasználni, egyetlen egy adatát sem fogjuk megjeleníteni. Ezek után nem marad más hátra, mint hogy munkához is lássunk, létrehozva az adatbázisunkat és a bennük szereplő táblákat.
Lecke Új adatbázis létrehozása Indítsuk el a Microsoft Office 2003 programcsomag Access alkalmazását, és a megjelenő ablakban válasszuk ki az Üres Access adatbázis lehetőséget. (8. Ábra) A következő ablakban meg kell adni, hogy új adatbázisunkat hol, milyen néven tároljuk. Legyen ez most a Dokumentumok mappában található IEC mappa. Ezután a Fájlnév mögé írjuk be: Biztosan nyerő, a Fájltípus maradjon Microsoft Office Access adatbázisok (9. Ábra).
8. Ábra
9. Abra A Létrehozás gombra kattintás után egy üres adatbázis jön létre, amely egyetlen objektumot sem tartalmaz.
Táblák definiálása A táblák az adatokat oszlopokban (mezőkben) és sorokban (rekordokban) tárolják. A tábla szerkezete Tervező nézetben (10. Ábra) kialakítható, módosítható, tartalma Adatlap nézetben (11. Ábra) megtekinthető, a bennük található adatok módosíthatók, illetve új rekord is felvihető.
10. Ábra
11. Ábra Táblákat a következő módon tudunk létrehozni. Az adatbázis ablakban kattintsunk a Táblák objektumra, majd az Új parancsgombra. (12. Ábra)
12. Ábra A következő bejelentkező dialógusablakban (13. Ábra) el kell döntenünk, hogy az új táblát
létrehozzuk Adatok beírásával, vagy sajátmagunk Tervező nézetben hozzuk létre, illetve Varázsló segítségével, esetleg importáljuk, vagy csatoljuk egy külső, meglévő adatbázisból.
13. Ábra
Importáláson azt értjük, amikor egy külső adatbázis tábláját a saját tábláink közé beillesztjük. Ilyenkor az adott tábla úgy illeszkedik be az adatbázisunkba, hogy nem jön létre kapcsolat a két adatbázis között. Ha az eredeti táblában valamilyen változás következik be adattartalmilag, azt mi nem érzékeljük az importált táblában. Csatolás esetében a külső adatbázis tábláját nem szerkesszük be a mi tábláink közé, csak egy hivatkozás jön létre, amelyen keresztül el tudjuk érni a csatolt táblát. Az így létrejött kapcsolat biztosítja, hogy az eredeti táblában bekövetkezett bárminemű változtatás kihatással legyen a mi adatbázisunkra is. Legyen az első tábla, melyet létrehozunk, a Tulajdonos nevű tábla, mely az ingatlanok tulajdonosainak minden olyan fontos adatát tartalmazza, melyre szükség lehet ahhoz, hogy zökkenőmentesen és gyorsan el tudja intézni ingatlanával kapcsolatos ügyeit. A tábla szerkezetét mi magunk hozzuk létre, ezért kattintsunk a Tervező nézetre, majd az OK gombra. (14. Ábra)
14. Ábra
A Tervező nézetben az egyedtulajdonságokat mezőnévvel azonosítjuk. A mezőnév megadásánál ügyeljünk arra, hogy minden mező más nevet kapjon, a mezőnevek fejezzék ki a tartalmat (pl. Szobák száma, Érvényes, Lejárat stb.), a mezőnevekben ne szerepeljen pont, felkiáltójel, szögletes zárójel.
Adattípusok Az adattípus megadásánál figyelembe kell venni, vajon az adott mezőben milyen típusú adatot szeretnénk tárolni (Szám típusú mezőben például nem tárolható szöveg). A tároló terület nagyságát is célszerű megadni, és nem az alapértelmezett értéket elfogadni, ugyanis rengeteg helyet tudunk megtakarítani a megfelelő méret kiválasztásával. Ezzel, az adatbázis-műveletek sebességét is jelentősen megnövelhetjük. A következő táblázat összefoglalja az adattípusként használható változatokat, valamint a tárolásukhoz szükséges méretet.
Adattípus
Mire használható
;Méret és helyfoglalás
Szöveg
Szőveg, illetve szöveg és szám bevitelére használható. (Pl. lakcím, telefonszám, postai irányítószám).
Maximum 255 karakter (255 bájt). A megadott Mezőméret értékét általában csökkenteni kell.
Feljegyzés
Egy hosszú szöveg bevitelére használatos.
Maximum 64 000 bájt.
Szám
Numerikus értékek, melyekkel matematikai számításokat szeretnénk végezni.
1, 2, 4 vagy 8 bájt, 16 bájt
Dátumok és idők bevitelére hasznátható.
8 bájt
Pénznem értékek. Ezt az adattípust használjuk, ha a számítások során a kerekítéseket szeretnénk megakadályozni.
8 bájt.
Számláló
Ez egy automatikusan, a rendszer által kiadott sorszám, amely egyesével, növekszik, vagy egy véletlenül generált számérték.
4 bájt, 16 bájt
Igen/Nem
Ezek a mezők csak két értéket képviselnek (Igen/Nem, Igaz/Hamis, Be/Ki)
1 bit.
OLE objektum
Wordben, Excelben létrehozott objektumok, illetve képek, hangok, melyeket csatolni vagy beágyazni tudunk a táblába. Az OLE objektum megjelenítéséhez úrlapot vagy jelentésben kötött objektumkeretet kell használni.
Maximum 1 Gigabájt
Hiperhivatkozás
Olyan mező, amely hiperhivatkozást tartalmaz (UNC vagy URL címet).
Maximum 64 000 bájt
Keresés varázsló
Értéklistából, vagy másik táblából kikeresve írható bele érték.
Dátum/Idő
Pénznem
A következők figyelembevé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? Szám adattípusú mezőben például nem lehet szöveget 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 a Szöveg és az OLE objektum típusú mezőkben lévő értékeket nem tudja összegezni. 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. 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 Leírás kitöltése nem kötelező. A tábla ezen része úgynevezett magyarázatokat tartalmaz a programozó számára, hogy a későbbiekben is pontosan tudja melyik mező, milyen jellegű adatokat tartalmaz.
Mezőtulajdonságok Minden egyes mezőnél meg kell határoznunk a tulajdonságait, attól függően, hogy milyen típusú mezőt készítettünk. A Szám, Pénznem, Dátum/Idő és Igen/Nem adattípusok egy előre definiált megjelenítési formátumot használnak. A formátum megváltoztatására a Mezőtulajdonságok Formátum tulajdonságot használjuk. A Cím tulajdonság kitöltése nem kötelező, ha mégis kitöltésre kerül, abban az esetben a tábla Adatlap nézetében a megadott szöveg lesz olvasható az első sorban. A Szöveg mezők alapértelmezett mérete 50 karakter. Ha ezt módosítani szeretnénk, válasszuk az Eszközök menü Beállítások parancsát, ahol a Táblák/Lekérdezések fülre kattintva megadható a szöveg kívánt alapértelmezett mérete. Mindezek után készítsük el a Tulajdonos táblát. Mezőnév Tkód, Adattípus Számláló, Leírás Tulajdonoskód, Mezőméret Hosszú egész, Cím Kód. (15. Ábra)
15. Ábra
Mezőnév Vezetéknév, Adattípus Szöveg, Leírás Tulajdonos vezetékneve (Lánykori név hölgyek esetében), Mezőméret 25, Kötelező Igen, UNICOD-tömörítés Nem. Mezőnév Keresztnév, Adattípus Szöveg, Leírás Tulajdonos keresztneve, Mezőméret 15, Kötelező Igen, UNICOD-tömörítés Nem. Mezőnév Cím, Adattípus Szöveg, Leírás Utca és házszám, Mezőméret 50, Kötelező Igen. Mezőnév Emelet, Adattípus Szöveg, Mezőméret 2, UNICOD-tömörítés Nem. Mezőnév Ajtó, Adattípus Szöveg, Mezőméret 3, UNICODtömörítés Nem. Mezőnév Irszám, Adattípus Szöveg, Leírás A lakhely irányítószáma, Mezőméret 4, Kötelező Igen, Indexelt Igen (lehet azonos), UNICOD-tömörítés Nem. Mezőnév Otthoni telefon, Adattípus Szöveg, Mezőméret 10, UNICOD-tömörítés Nem. Mezőnév Mobil telefon, Adattípus Szöveg, Mezőméret 10, UNICOD-tömörítés Nem. Mezőnév Ügykód, Adattípus Szám, Mezőméret Egész, Tizedeshelyek 0, Indexelt Igen (lehet azonos). Ha készen vagyunk a mezők felvitelével, meg kell még határoznunk, hogy melyik mező legyen az, amely a többi mezőt egyértelműen azonosítja, azaz melyik legyen a kulcsmező. A Tkód mint egyedi azonosító, tökéletesen megfelel az elsődleges kulcs szerepének. Ennek beállítására jelöljük ki a Tkód sort (a mezőnév előtti szürke négyzetre kattintva az egérrel), majd az Eszköztáron levő kulcs ikonra kattintsunk (16. Ábra) A művelet végrehajtása következtében a kijelölt mezőnév bal oldalán egy kis kulcs fog megjelenni, jelezve azt, hogy az adott mező kulcsmező.
16. Ábra A másik mezőbeállítás, melyet a telefonszámok esetében meg kell tennünk, hogy beviteli maszkot rendelünk az adott mezőhöz. Álljunk rá a Tulajdonos tábla Otthoni telefon mezőjének Beviteli maszk tulajdonságára, kattintsunk a sor melletti három pontot ábrázoló gombra. Ekkor elindul a Beviteli maszk Varázsló, amelynél válasszuk a telefonszámokat (telephone number), majd kattintsunk a Lista szerkesztése gombra (17. Ábra).
17. Ábra
18. Ábra Ebben a lépésben definiálhatjuk egyéni beviteli maszkunkat (18. Ábra), majd a Bezárás és a Befejezés gombokra kattintva lépjünk ki a Beviteli maszk varázslóból. Ennek a tulajdonságnak a beállítása arra szolgál, hogy formázó karaktereket jelenítsünk meg a mezőben, ezzel is biztosítva, hogy a bevitt adatok megfeleljenek a megadott maszknak. A beviteli maszk legfeljebb három, egymástól pontosvesszővel elválasztott részt tartalmazhat, amelyek közül az első a formátumot, a második a formázó karakterek tárolását szolgáló vezérlőszám karaktert, míg a harmadik részben a maszkban kitöltendő helyeket jelölő karaktert tartalmazza. Ha a második argumentum 1-et tartalmaz (vagy semmit sem), abban az esetben a mezőbe bevitt karakterek tárolódnak, a maszk elválasztó karakterei nem. Ha a második rész 0-t tartalmaz, akkor nemcsak a beviteli mezőbe beírt karakterek kerülnek tárolásra, hanem a maszkban megadott formázó karakterek is. Ha a harmadik részt üresen hagyjuk, abban az esetben az Access a "_" jelet használja helykijelölő karakterként. Lássuk részünkről felhasznált adatbeviteli maszk magyarázatát. 1(00")"000\-0009;;_
A beviteli maszk kezdetén található \ jel arra utasítja az Accesst, hogy az őt követő karakter változatlanul jelenjen meg. Ezután következik két 0, amely szerint számjegy bevitel kötelező. Ezt követi az idézőjelek közé rakott zárójel, majd a telefonszám első három karaktere (szám, megadása kötelező), amit a \ jellel bevezetett "-" jel követ (vagyis változatlan formában kerül kiírásra). Legvégül a telefonszám utolsó karakterei következnek, ahol az 0 helyére kőtelező az érték megadása, míg a 9-es számjegyet vagy szóközt vár, de a megadása nem kötelező. A második argumentumban nem adtunk meg semmit, tehát nemcsak az értékek, hanem a formázó karakterek is tárolásra kerülnek. A harmadik argumentum pedig tartalmazza a beviteli maszkban a hely jelölő karaktert. Ugyanezeket a lépéseket hajtsuk végre a Mobil telefonszám esetében is. Beviteli maszkban használható karakterek: 0 9
L ? A a & C
Számjegy (0 - 9, kötelező bejegyzés; plusz [+] és mínusz [-] előjel nem megengedett) Számjegy vagy szóköz (nem kötelező bejegyzés; plusz és mínusz előjel nem engedélyezett) Számjegy vagy szókőz (nem kötelező bejegyzés; az üres helyek szóközzé konvertálódnak, plusz és mínusz előjel megengedett) Betű (A - Z, kötelező bejegyzés) Betű (A - Z, nem kötelező bejegyzés) Betű vagy szám (kötelező bejegyzés) Betű vagy szám(nem kőtelező bejegyzés) Bármilyen karakter vagy szóköz (kötelező bejegyzés) Bármilyen karakter vagy szóköz (nem kötelező bejegyzés)
< > !
Azt eredményezi, hogy az összes következő karakter kisbetűs lesz. Azt eredményezi, hogy az összes következő karakter nagybetűs lesz. A mezőbe beírt adatot jobbra rendezi. A jelet kővető karaktert beszúrja a mező megfelelő pozíciójára.
Elkészült első táblánk. A mentéshez adjuk ki a Fájl menü Mentés parancsát, majd a megjelenő ablakba írjuk be a tábla nevét, és kattintsunk az Ok gombra (19. Ábra).
19. Ábra
Mezőtulajdonságok leírása és beállítása Mezőméret: Egy szövegmező mérete szöveg esetében 1 és 255 karakter közőtti lehet. Így tudjuk elérni azt, hogy az adott méretű szöveg beleférjen a mezőbe. A mezőméretet lehetőleg a legkisebbre állítsuk, mert a kisebb méretek kezelése kevesebb memóriát igényel és gyorsabban feldolgozható. Számok esetében a következő értékek állíthatók be:
Pontosság Tárolási méret
Mezőméret
Tartomány
Bájt
0-tól 255-ig
1 bájt
Egész
-32768-tól 32767-ig
2 bájt
Hosszú egész
-2147483648-tól -2147483647-ig
4 bájt
Egyszeres
-3,402823E38-tól 3,402823E38-ig
7 jegy
4 bájt
Dupla
-1,7976931348E308 1,7976931348E308-ig
15 jegy
8 bájt
Formátum: A Számok és Pénznem típusú mezők esetében beállítható több formátum is (általános szám, pénznem, rögzített, szabványos, százalék, tudományos). A Dátum/Idő formátum esetében lehet általános dátum, hosszú dátum, egyszerű dátum, rövid dátum, hosszú idő, közepes idő, valamint rövid idő. Az Igen/Nem típusú beviteli mezők esetében a beviteli mezők értékei Igen/Nem, Igaz/Hamis, Be/Ki értékre. A Formátum mezőben használhatjuk a beviteli maszknál már ismertetett karaktereket. Például > jelet alkalmazva, a mezőben lévő szöveges adatok nagybetűvel kerülnek kiírásra, 0000 esetén a számok 0001, 0002, 0003.... formátumban jeleníthetők meg. Tizedeshely: Szám és Pénznem típusú mezők esetében a kijelzendő tizedeshelyek száma adható meg. Az alapértelmezés Auto. Adatbeviteli maszk: Segítségével az adatbevitel tehető egyszerűbbé és biztonságosabbá. Beviteli maszk létrehozható Varázslóval vagy egyénileg, amikor önmagunk adjuk meg a beviteli maszkban használható karaktereket. Cím: Ha kitőltjük ezt a mezőt, az oszlopazonosító ezt e nevet fogja megjeleníteni, ha üresen hagyjuk, abban az esetben az oszlopazonosító a mezőnévként megadott érték lesz.
Alapértelmezett érték: Bizonyos esetekben, ahol tudjuk, hogy a mezőértékek valószínűleg ugyanazokat az értékeket tartalmazzák, célszerű ezt a tulajdonságot beállítani. Ezáltal az adatbevitel során a beviteli idő jelentősen lecsökkenthető. Kötelező adatbevitel: Ahhoz, hogy a későbbiekben is megtaláljuk a kapcsolt mezők segítségével adatainkat, törekedni kell arra, hogy a fontos szerepet betöltő mezők ki legyenek töltve. Nulla hosszúság engedélyezése: Ha Igen-re állítjuk, akkor megengedett a nulla hosszúságú karakterlánc bevitele, különben nem. A nulla hosszúságú karakterláncot két egymást követő idézőjel ("") bevitelével adjuk meg. Meg kell tudnunk különbőztetni a nem létező (Null érték), illetve a létező, de részünkről nem ismert (Nulla hosszúság) kőzött a különbséget. Például valakinek nincs telefonja (Null érték), illetve van telefonja, csak mi nem tudjuk a számát (Nulla hosszúság). Vagyis, kétféle érték vihető be, egy NULL érték, illetve Nulla hosszúságú karakterlánc. Vegyük például a kővetkező megjelenítési beállítást: @@/@@/@@@@-@@@; "Nincs telefonszám'; "Nem ismerős" Jelen esetben a második argumentumban a Null érték esetén a megadott szöveg jelenik majd meg (a Kötelező mező beállítása ezért Nem), ha viszont nem tudjuk, a harmadik argumentumban megadott szőveg fog megjelenni (Nulla hosszúság Igen-re van állítva). Érvényességi szabály, érvényesítési szöveg: Egyszerű vagy összetett logikai kifejezéseket adhatunk meg benne, a felvitt értékeknek ezzel egyezniük kell. Logikai kifejezések: And (És), OR (Vagy), Not (Nem). Egyéb kifejezések: LIKE (karakterláncok összehasonlításá-
ra szolgál), BETWEEN ... AND (zárt intervallum), IN (előre megadott lista). Megadható például, hogy az adott érték nagyobb legyen 50-től (>50), de akár két érték közötti mennyiségre is korlátozhatjuk a felvitt adatot (Between értéki And érték2, ahol az intervallum szélső értékei is beleértendők). Az érvényességi szabályok mellé célszerű érvényesítési szöveget is megadni. Segítségével utasítjuk a felhasználót, mire kell odafigyelnie az adatfelvitelnél. Index létrehozása: Segítségével, sokkal gyorsabbá tehetjük rendezéseinket. Az index valójában egy belső táblázat, amely tartalmazza az indexelt mező értékeit, valamint azok előfordulási helyeit. Nem jelenti a bevitt rekordok fizikai sorrendjének megváltoztatását, csak azt jelenti, hogy az indextáblázat alapján az Access rendezetten jeleníti meg az adatokat.
Táblatulajdonságok megadása Nemcsak a mezőknek, hanem a tábláknak is vannak tulajdonságai, ezek beállíthatók a Nézet menü Tulajdonságok parancs segítségével (ha a tábla tervezőnézetében vagyunk). (20. Ábra) A Leírás segítségével a tábla írható le (A Leírás megjelenítése a Nézet menüpont Részletek paranccsal történik). Érvényességi szabály és Érvényesítési szöveg is megadható a mezőtulajdonságoknál megszokott módon. Amikor az érvényességi szabállyal egy másik mezőre, vagy egy másik táblában található mezőre hivatkozunk, ezen a helyen kell megadni a feltételeket. ASzűrő beállításával elérhető, hogy az adatoknak csak egy része jelenjen meg (Where záradéknak felel meg). A Rendezés segítségével be-
állítható, hogy megadott rekordokat milyen rendezési elv szerint szeretnénk látni (alapértelmezés növekvő). Például, a Vezetéknév DESC hatására csökkenő rendezést állítunk be a vezetéknév mező alapján. A növekvő rendezés kulcsszava az ASC, de ezt nem kell kiírni. mert ez az alapértelmezett rendezési érték.
20. Ábra A mezők, mezőnevek, mezőtulajdonságok és egyéb beállítások megtárgyalása után nézzük meg, hogyan néz ki az imént létrehozott tábla Tervező nézetben. (21. Ábra)
21. Ábra
Lecke Táblák létrehozása Miután sikeresen megismerkedtünk a táblakészítés fortélyaival, hozzuk létre a többi szükséges táblát is. A felsorolás alapján mindenki maga készítse el ezeket. Bérlemény tábla Mezőnév Bkód, Adattípus Számláló, Leírás A kiadó ingatlan kódja, Mezőméret Hosszú egész, (kulcs). Mezőnév Felvétel, Adattípus Dátum/Idő, Leírás A felvétel dátuma, Formátum Rövid dátum, Beviteli maszk 0000/00/00/;0;_, Kötelező Igen. Mezőnév Nagyság, Adattípus Szám, Leírás Az ingatlan nagysága m2-ben, Mezőméret Hosszú egész, Kötelező Igen. Mezőnév Itipkód, Adattípus Szám, Leírás Ingatlan típusa, Mezőméret Hosszú egész, Formátum 0000, Kötelező Igen, Indexelt Igen (lehet azonos). Mezőnév Építve, Adattípus Szám, Leírás Mikor építették, Mezőméret Egész. Mezőnév Szoba, Adattípus Szöveg, Leírás: Szobák száma, Mezőméret 3, Kötelező Igen. Mezőnév Fürdőszoba, Adattípus Szöveg, Leírás: Fürdőszobák száma, Mezőméret 2, Kötelező Igen.
Mezőnév Telek, Adattípus Szám , Leírás A telek területe m2-ben, Mezőméret Egész, Kötelező Igen. Mezőnév Cím, Adattípus Szöveg, Leírás Utca és házszáma az ingatlannak, Mezőméret 50, Kötelező Igen. Mezőnév Emelet, Adattípus Szöveg, Mezőméret 2, Kötelező Igen. Mezőnév Ajtó, Adattípus Szöveg, Mezőméret 3. Mezőnév Irszám, Adattípus Szöveg, Mezőméret 4, Kötelező Igen. Mezőnév Fénykép, Adattípus OLE Objektum Mezőnév Irányár, Adattípus Pénznem, Tizedeshelyek: 0, Kötelező Igen. Mezőnév Megjegyzés, Adattípus Feljegyzés, Leírás Egyéb információk, extrák Mezőnév Tkód, Adattípus Szám, Leírás Tulajdonos kódja, Mezőméret: Hosszú egész, Formátum: 0000, Tizedeshelyek: 0, Kötelező Igen, Indexelt: Igen (lehet azo-
nos). Mezőnév Érvényes, Adattípus Igen/Nem, Leírás Kiadó-e még az ingatlan, Alapértelmezett érték =Igen, Kötelező Igen.
Mezőnév Lejárat, Adattípus Dátum/Idő, Leírás Meddig kell közvetíteni, Formátum Rövid dátum, Beviteli maszk 0000/00/00/;0; _, Kötelező Igen. Mezőnév Kiközvetítve, Adattípus Igen/Nem, Leírás Sikerült-e kiadni az ingatlant, Alapértelmezett érték =No. Eladó tábla
Mezőnév Ekód, Adattípus Számláló, Leírás Az eladó ingatlan kódja, Mezőméret Hosszú egész, (kulcs).
A többi mező megegyezik az előző tábláéval, természetesen a kiadás helyett mindig az eladást kell érteni.
Ingatlanok tábla Mezőnév Itipkód, Adattípus Számláló, Leírás Ingatlan típusának kódja, Mezőméret Hosszú egész, Formátum 0000, Cím Tipus, (kulcs). Mezőnév Megnevezés, Adattípus Szöveg, Leírás Ingatlantípus megnevezése, Mezőméret 20, Kötelező Igen. Település tábla Mezőnév Irszám, Adattípus Szöveg, Leírás A helység irányítószáma, Mezőméret 4, Kötelező Igen. Mezőnév Helység, Adattípus Szöveg, Leírás Helységnév, Mezőméret 30, Kötelező Igen. Ügynök tábla Mezőnév Ügykód, Adattípus Számláló, Leírás Az ügynök kódja, Mezőméret Hosszú egész, (kulcs). Mezőnév Vezetéknév, Adattípus Szöveg, Leírás Az ügynök vezetékneve, Mezőméret 25, Kötelező Igen. Mezőnév Keresztnév, Adattípus Szöveg, Leírás Az ügynök keresztneve, Mezőméret 15, Kötelező Igen. Mezőnév Cím, Adattípus Szöveg, Leírás Utca és házszám, Mezőméret 50, Kötelező Igen. Mezőnév Emelet, Adattípus Szöveg, Mezőméret 2. Mezőnév Ajtó, Adattípus Szöveg, Mezőméret 3. Mezőnév Irszám, Adattípus Szöveg, Mezőméret 4, Kötelező Igen. Mezőnév Otthoni telefon, Adattípus Szöveg, Mezőméret 10, Bemeneti maszk I(00")"000\-0009;; ~. Mezőnév Mobil telefon, Adattípus Szöveg, Mezőméret 10, Bemeneti maszk \( 00 ")"000\-0009; Mezőnév Fax, Adattípus Szöveg, Mezőméret 10, Bemeneti maszk \ (00 ") "000\-0009; ; Mezőnév E-mail, Adattípus Szöveg, Mezőméret 35.
Kapcsolatok Az adatbázisban szereplő táblák létrehozása után a következő feladatunk a táblák közötti kapcsolatok definiálása. A kapcsolat két tábla között a kapcsolómezőn keresztül valósul meg. Kapcsolómezőnek nevezzük azt a mezőt, amelyik mindkét táblában megtalálható, mindkettőnek ugyanaz a tulajdonsága, mindkettő azonos tartalmú. Általában a táblákban ugyanazzal a mezőnévvel nevezzük őket. A legtöbb esetben, az egyik táblában ez a mező úgynevezett elsődleges kulcs, amely mint egyedi azonosító szolgál. A másik táblában, mint kapcsoló mező szerepel az adott mező. Egy a többhöz kapcsolat: Ezt a kapcsolattípust használják a leggyakrabban. Ebben a kapcsolatban az "A" tábla valamely rekordjához több rekord is tartozhat a "B" táblában, viszont ez visszafelé nem igaz. Például egy szállító több terméket is szállithat, de minden terméknek csak egy szállítója van. Egy az egyhez kapcsolat: Az ilyen kapcsolatoknál az "A" tábla minden rekordjához csak egy érték tartozhat a "B" táblában és ez visszafelé is igaz. Ez a fajta kapcsolat nem gyakran használatos, mert az ilyen információk akár egy táblában is tárolhatók. Több a többhöz kapcsolat: Több a többhöz kapcsolat esetében az "A" tábla valamely rekordjához több rekord is tartozhat a "B" táblában, ugyanakkor a "B" tábla valamely rekordjához is több rekord tartozhat az "A" táblában. Ez a fajta kapcsolat csak úgy kivitelezhető, ha létrehozunk egy harmadik táblát, úgynevezett illesztő táblát, melynek az elsődleges kulcsa két mezőt tartalmaz, az "A" és a "B" tábla külső kulcsát. Az egyik tartja a kapcsolatot az "A" táblával, míg a másik tartja a kapcsolatot a "B" tábla adataival.
Kapcsolatok definiálása Mielőtt létrehoznánk a kapcsolatokat, zárjuk be az esetleg nyitott táblákat, ugyanis megnyitott táblák között nem hozható létre kapcsolat. Váltsunk át adatbázis ablakra (ez bárhonnan megtehető az F11-es billentyűvel). A kapcsolatok megadásához kattintsunk az Eszközök menü Kapcsolatok parancsra (22. Ábra).
22. Ábra A Kapcsolatok menü Tábla hozzáadása parancs hatására megjelenő ablakból kiválaszthatjuk azokat a táblákat, melyek közőtt definiálni szeretnénk a kapcsolatot, illetve kapcsolatokat. (23. Ábra) A kapcsolatot úgy hozzuk létre két tábla kőzött, hogy az egyik tábla kulcsmezejét áthúzzuk annak a táblának a kapcsolómezejére, mellyel létre szeretnénk hozni a kapcsolatot (24. Ábra).
23. Ábra
24. Ábra Szám mezők esetében a mezőméretnek megegyezőnek kell lenni mindkét táblában. Kivételt képez, ha egy Számláló típusú mezőt egy Szám típusú mezővel szeretnénk kapcsolatba hozni. Ilyenkor a mezőméretet Hosszú egészre kell állítani. Amikor elengedjük az áthúzás után az egér bal gombját, megjelenik a Kapcsolatok párbeszédpanel (25. Ábra), ahol a megjelenített mezőnevek leellenőrizhetőek, illetve módosíthatóak. Ha mindent rendben találunk, kattintsunk a Létrehozás gombra. Ha definiálni szeretnénk az illesztés típusát, kattintsunk az Illesztés típusa... gombra.
25. Ábra
26. Ábra A 26. Ábrán látható párbeszédpanelben beállítható a kívánt illesztési tulajdonság. Az illesztési tulajdonságok szorosra (1), valamint bal és jobb oldali laza illesztésre (2-3) állíthatók be. Egy már meglévő kapcsolat bármikor szerkeszthető. Ehhez elegendő a kapcsolatot jelző vonalra duplán kattintani, ekkor a 25. ábrán már megismert párbeszédpanel jelenik meg. A kapcsolat törléséhez kattintsunk a kapcsolatot jelző vonalra, majd nyomjuk meg a Delete billentyűt. Csatolt táblák esetében nem tudjuk megváltoztatni az illesztés típusát.
A Kapcsolatok párbeszédpanelben beállítható a hivatkozási integritás tulajdonság, melynek hatására a kapcsolódó adatokat nem lehet véletlenszerűen törölni vagy módosítani. Ahhoz, hogy a hivatkozási integritás beállítható legyen, teljesülnie kell a kővetkező feltételek mindegyikének: Az elsődleges tábla megfelelő mezője egy elsődleges kulcs. A kapcsolódó mezőknek ugyanaz az adattípusuk. Kivételt képez a Számláló és a Szám típusú mező, ahol a számláló kapcsolatba hozható egy hosszú egész típusú szám mezővel. Mindegyik tábla ugyanabban az adatbázisban található. Ha a hivatkozási integritás be van állítva, a kapcsolt tábla kapcsolt mezejébe nem lehet olyan értéket beírni, amely nem található meg az elsődleges tábla elsődleges kulcsában. A kapcsolt mezőbe azonban beírható Null érték, amely azt jelzi, hogy a rekordok nincsenek kapcsolatban egymással. Nem létező vevő nem rendelhet árút, de például a rendelések tábla, vevő mezőben szerepelhet Null érték. Nem lehet olyan rekordot törölni az elsődleges táblából, amelyhez a másodlagos táblában rekordok tartoznak. Nem lehet az elsődleges táblában az elsődleges kulcs értékét módosítani, ha a másodlagos táblában kapcsolódó rekordok vannak az elsődleges kulcshoz. A hivatkozási integritás bekapcsolásához be kell jelölni a Hivatkozási integritás megőrzése jelölőnégyzetet. Ha bekapcsoljuk a Kapcsolt mezők kaszkádolt frissítése négyzetet (27. Ábra), az elsődleges táblában lévő elsődleges kulcs automatikusan frissíti az összes kapcsolódó táblában a megfelelő rekordokat.
27. Ábra Ha a Kapcsolt mezők kaszkádolt törlése jelölőnégyzet van bekapcsolva, akkor az elsődleges táblából történő törléssel kitörlődik a másodlagos tábla kapcsolódó rekordja is. Ezekre a beállításokra azért van szükség, mert a hivatkozási integritás megakadályozná normál esetben ezeket a műveleteket. Frissítés esetén (ha például módosítjuk az elsődleges kulcsát egy rekordnak) az Access automatikusan frissíti az új értéket minden kapcsolt táblában, mert külőnben megszakadna a kapcsolat a két tábla között. Számláló típusú mezőre a kaszkádolt frissítésnek nincs hatása, mivel a számláló mezőben nem lehet értéket módosítani. Kapcsolatok létrehozása A kapcsolatok megadásához kattintsunk az Eszközök menü Kapcsolatok parancsára. A táblák felvétele után húzzuk át a megfelelő kulcsmezőket a másik tábla kapcsolt mezőjére, kapcsoljuk be a hivatkozási integritás megőrzése és a kaszkádolt mezők frissítése jelölőnégyzetet. Az illesztés típusa maradjon az (1), így ugyanis csak azok a rekordok kerülnek bele, amelyeknél az illesztett mezők mind a két táblában azonosak
(ez az alapértelmezett). Miután megadtuk a kapcsolat jellemzőit, kattintsunk a Létrehozás gombra. A kapcsolat létrejöttét a táblák között megjelenő kapcsolóvonal mutatja, amely a két tábla megfelelő mezőit köti össze. A hivatkozási integritás bekapcsolását a kapcsolóvonal mindkét végén megjelenő megvastagított vonal jelzi (28. Ábra).
28. Ábra A kapcsolatok létrehozása után az Access rákérdez, mentsee a kapcsolatokat. Természetesen Igen-nel válaszoljunk. Hozzuk létre a kapcsolatokat a többi táblával is! Lehetőleg mindenki önállóan próbáljon dolgozni. Ehhez segítséget ad a 29. Ábra is.
29. Ábra
Adatok felvitele A kész táblákba felvihetjük az adatokat, ha átváltunk Adatlap nézetbe. (30. Ábra)
30. Ábra Az Ingatlanok tábla adatai a 31. Ábráról leolvashatók.
31. Ábra Az Ingatlanok tábla mintájára vigyen fel mindenki 5-6 városnevet és irányítószámot a Település táblába. A többi táblát később Űrlapok segítségével fogjuk adatokkal feltölteni.
Adatok módosítása A nyitott táblában (Adatlap nézetben) lévő adatokat úgy módosítjuk, hogy a megfelelő cellába állva átírjuk az adatokat, szükség esetén töröljük. Ha az adatok nem láthatók jól a cellában, vagy túl hosszú a benne lévő adat, akkor a cellát kinagyíthatjuk a Shift + F2 billentyűkombinációval. Új sort (rekordot) csak a létező rekordok alá lehet beírni. Minden tábla ablakának alsó sávjában megtaláljuk a rekordléptetőket (32. Ábra), melyek közül a jobb oldali utolsó léptetőre kattintva mindig a legelső üres rekordra pozícionálódik a kurzor.
32. Ábra
Ha a begépelt adat nem felel meg az érvényes előírásoknak (például nem adtuk meg a kötelező adatot), akkor a Szerkesztés/Aktuális rekord (mező) visszavonása menüpontot kell kiválasztani. Vigyázzunk, ha elsődleges kulcs mezejében alkalmazzuk a visszavonást, akkor sorszámok maradhatnak ki, mert a rendszer minden elsődleges kulcs értéket csak egyszer oszt ki. Rekordokat a sor előtti szürke négyzettel tudunk kijelölni. A kijelölés után a Delete billentyű megnyomására a rekord törlődik.
Mezőszerkezet módosítása Erre Tervező nézetben van lehetőség. Egy tábla mezőszerkezetén akkor is lehet módosítani, ha már adatok vannak benne. Új mezőket bármikor vihetünk fel, mezőneveket átírhatjuk, mezők sorrendjét átrendezhetjük. Az egyes mező jellemzőin már csak alapos megfontolás után változtassunk. Olyan jellemzőkön, amelyek a mezőkben lévő adatok tárolására hatással vannak (pl. típusa), ne változtassunk, mert adatvesztéshez vezethet. Erre adott esetben a rendszer is figyelmeztet minket. (33. Ábra)
33. Ábra A kapcsolatok létrehozása után a mezőszerkezet már nem módosítható!
Tábla sorainak rendezése Nyissuk meg az Ingatlanok táblát, álljunk a Megnevezés oszlop valamelyik mezőjén, a Rekordok/Rendezés/Növekvő rendezés menüpontot kiválasztva a Megnevezés mezőben lévő adatokat növekvő sorrendbe rendeztük. (34. Ábra) A gyorsrendezés eredménye csak akkor marad meg a táblában, ha azt a rendezés után elmentjük. Ha a tábla bezárása nélkül szeretnénk megszabadulni a rendezéstől, akkor válasszuk a Rekordok/Szűrés/Rendezés törlése menüpontot.
34. Ábra Mód van arra is, hogy egy vagy több mező alapján rendezzünk. Ha több rendezési kulcsot szeretnénk létrehozni, akkor válasszuk a Rekordok/Szűrő/Irányított szűrés/rendezés... menüpontot (35. Ábra). Az elsődleges rendezési kulcs a QBE rácson (Query by example - Lekérdezés példa alapján) előrébb lévő mező lesz. A másodlagos rendezési kulcs szerinti rendezés csak akkor aktualizálódik, amikor az elsődleges rendezés szerinti mezőben azonos értékeket talál a rendszer. (Például egy vállalatnál több Kovács Sándor nevezetű dolgozó is lehet, a köztük levő sorrendet lakhelyük szerint másodlagosan meghatározhatjuk).
35. Ábra
Tábla szűrése Azokban az esetekben, amikor a megjelenítést csak bizonyos rekordok csoportjára korlátozzuk, szűrő funkciókat kell haszválnunk. Nyissuk meg az Ingatlanok táblát és vigyük a kurzort a Nyaralóra. Válasszuk ki a Rekordok/Szűrő/Szűrés kijelöléssel menüpontot (36. Ábra). A kapott parancs hatására csak azok a rekordok jelennek meg, amelyekben a Megnevezés mező egyenlő a Nyaralóval. Érdemes megfigyelni a menüpontok előtt lévő ikonok képeit. Az itt látható ikonok az eszközsoron is megtalálhatók, így egyes menüpontok onnan gyorsabban elindíthatók.
36. Ábra
Rekordok/Szűrés/rendezés törlése parancs hatására visszaállíthatjuk a szűrés előtti állapotot. Ugyanezt érjük el akkor is, ha az eszközsoron a Szűrő eltávolítása ikonra kattintunk. Lehetőség van arra is, hogy a teljes táblára vonatkozó szűrési feltételeket adjunk meg. Ebben az esetben a Rekordok/Szűrő/Szűrés űrlappal menüpontot kell kiválasztanunk. A tábla egyetlen sorrá zsugorodik, és javaslatként megjelenik benne az előzőleg használt szűrési feltétel. Írjunk be helyébe egy másik Megnevezést. Kattintsunk a Szűrő ikonjára, ezzel megtörténik a feltétel szerinti szűrés.
Keresés és csere Állítsuk vissza az eredeti táblánkat Rekordok/Szűrés/Rendezés törlése parancs kiadásával. Válasszuk ki a Szerkesztés/Keresés menüpontot. A megjelenő párbeszédablak Mit keres mezőjébe írjuk be: Telek. Állítsuk be, hogy a Miben mezőben Ingatlanok : Tábla, az Egyezés Teljes mező legyen. A Következő parancsgombbal elindíthatjuk a keresést is (37. Ábra).
37. Ábra
A keresendő szöveg begépelésénél használhatjuk a következő jelpótlókat: helyette bármilyen tetszőleges jel állhat, helyette akárhány tetszőleges jel állhat, helyette egy számjegy állhat, [] a zárójelek között lévő listában szereplők közül egyetlen karaktert helyettesít, ! a zárójelek között lévő listában nem szereplők közül egyetlen karaktert helyettesít, határok között lévő bármilyen karaktert helyettesít. ? *
A kereséshez teljesen hasonlóan működik a csere. A megjelenő párbeszédablakban a Mit keres mellett azt is meg kell adnunk, hogy Mire cseréli.
Űrlapok Az előző fejezetben két kisebb táblánál már elkezdtük az adatok felvitelét. Már ezeknél is érzékelhettük, hogy ez a módszer nem a legoptimálisabb, nagyon könnyű hibázni, sok mező között nehéz a tájékozódás. Ebben a fejezetben megismerkedünk az űrlapokkal, melyek biztosítják, hogy esztétikusabb, áttekinthetőbb körülmények között, egyszerűen és gyorsan vigyük fel az adatokat. Az űrlapok felhasználási területe igen sokrétű. Új adatok felvitelére, meglévő adatok megjelenítésére, módosítására használhatóak. Az űrlapban található információk valamely rekordforrásból származnak, kivéve a magyarázó szövegeket, a grafikus elemeket (vonalak, téglalapok), melyek az űrlap tervében kerülnek tárolásra. Ugyanakkor számítások is elvégezhetők az űrlapon. A számításokat megadott kifejezések végzik el, melyek szintén az űrlap tervében kerülnek letárolásra. A vezérlőelemek segítségével tovább pontosíthatjuk, komfortosabbá, egyszerűbbé tehetjük űrlapjainkat.
Lecke Új űrlap létrehozása Nyissuk meg a Biztosan nyerő adatbázisunkat. Új űrlapot létre tudunk hozni, ha az adatbázis ablakban az Úrlapok objektumok Új parancsát választjuk (38. Ábra).
38. Ábra Választhatunk, hogy az űrlapot Varázsló segítségével, illetve saját magunk hozzuk létre. Mindkét esetben azonban meg kell mondanunk, hogy az űrlapnak mely tábla, vagy lekérdezés szolgáltatja az adatokat. Ezt a legördülő listára való kattintással a legegyszerűbb megtenni (39. Ábra).
39. Ábra Űrlap Varázslót használva a 39. képen látható ablakban még nem kötelező megadni a táblát, vagy lekérdezést. A következő ablakban a mezőket egyesével, illetve az összest is meg tudjuk adni a Táblák/Lekérdezések alatti listából kiválasztva.(40. Ábra) Az Elérhető mezőket a Kijelölt mezőkhöz a >, illetve egyszerre mindet a » jelekkel tudjuk berakni.
40. Ábra A következő lépésben az űrlap szerkezetével kapcsolatban kell nyilatkoznunk (41. Ábra), majd a stílus kiválasztása történik (42. Ábra). Most már csak az űrlap címét kell megadnunk, amely egyezni fog az űrlap nevével is (43. Ábra).
41. Ábra
42. Ábra
43. Ábra
Nézetek Tervező nézet, amely segítségével létre tudunk hozni testre szabott űrlapokat sok hasznos eszközkészlettel, melyeket az Access biztosít számunkra. Módosítani tudjuk a betűtípust, a méretét, szöveget lehet igazítani, betű színét megadni stb. (44. Ábra) Adatlap nézet, amely a már elkészített űrlapot jeleníti meg táblázatos formában (45. Ábra).
44. Ábra
45. Ábra
Űrlap nézetben a kész űrlapot láthatjuk (46. Ábra).
46. Ábra A nézetek között az Űrlap nézet eszköztár első ikonja segítségével váltogathatunk. (47. Ábra) Adatlap vagy Űrlap nézetben is használhatóak a rekordléptető gombok, melyek segítségével a megadott rekordra léphetünk. (48. Ábra)
47. Ábra
48. Ábra
Tervező nézetben a rácsok elrejtésére használjuk a Nézet menüpont Rács parancsát.(49. Ábra) Hatására az űrlap rácsok nélkül jelenik meg, természetesen tervező nézetben. Ha a Formátum menü Rácsra ugrás paranccsal bekapcsoljuk ezt a funkciót, hatására az űrlapon létrehozott vezérlőelemek bal felső sarka igazodni fog a rácshoz. Létező vezérlőelemek áthelyezése, méretezése, a keretek mozgatása csak a rácspontok mentén hajtható végre.
49. Ábra Ha csak ideiglenesen szeretnénk a rácshoz igazítást kikapcsolni, a vezérlőelem áthelyezése vagy méretezése előtt tartsuk lenyomva a Ctrl billentyűt. Ha a rácspontok közötti távolságot szeretnénk megváltoztatni, az űrlapon kattintsunk egy semleges területre kétszer, a megjelenő ablak Formátum lapján az "X rács", illetve "Y rács" értéket kell átírnunk. (50. Ábra) Ha a rácspontok centiméterenként 9 pontnál sűrűbbek, nem fognak megjelenni a képernyőn. A tervező nézetben rendelkezésünkre álló vezérlők eszköztárán található eszközők megneve-
zését az 51. Ábra tartalmazza. Ezeket az űrlap pontosabb méretezéséhez, beállításához használhatjuk.
50. Ábra
Vezérlőelemek Tervező nézetben látható, hogy az űrlap több részre van felosztva: Űrlapfej, Törzs, Űrlapláb. (44. Ábra) M Űrlapfej azokat az információkat tartalmazza, amelyek az űrlap fejlécén jelennek meg. Ilyen például az űrlap címe. A Törzs tartalmazza az egyes rekordokat, a hozzá tartozó mezőkkel együtt. Az Űrlaplábban azok az információk találhatók, amelyek minden lap alján megjelennek. A Törzs felső-, az Űrlapláb alsó- és felső szegélyvonala elmozdítható, így az egyes szakaszok mérete megváltoztatható. Változtassunk mi is a méreteken (51. Ábra).
51. Abra A képernyőn az űrlap tervező módjában "Úszó menü"-ként megjelenik a Vezérlőelemek eszköztára. (52. Ábra) A Vezérlő elemekről bővebb információt kapunk, ha a Súgó menüben kikeressük a Vezérlőelemekre vonatkozó részt. (53. Ábra)
52. Ábra
53. Abra Vezérlőelemek magyarázata (balról jobbra, fentről lefelé haladva Az első kettőről csak annyit, hogy az első az objektumok kijelölésére szolgál, míg a másodikat objektum varázslónak nevezik. Felirat: Ha az űrlapon valamilyen szöveget szeretnénk elhelyezni, úgynevezett címkét, erre a célra ez a vezérlő kitűnően használható. Beviteli mező: Egyik leggyakrabban használt vezérlőelem, amely tartalmazhat szőveget, számokat és egyéb karaktereket. Adatok beírásához, megjelenítéséhez, valamint számított értékek, kifejezések megadásához kitűnően használható. A beviteli mezőhöz leggyakrabban egy szorosan hozzátartozó címke tartozik.
Vezérlőelem csoport: létrehozása akkor ajánlatos, ha az űrlapon különböző lehetőségek közül kell választani és a kiválasztott értéket az adatbázisba beírni. A vezérlőelem csoporton lehetnek választógombok, váltógombok, vagy jelölőnégyzetek. (54. Ábra)
54. Ábra Kombi panel: Elindítása után nyilatkoznunk kell arról, hogy az értékek hogyan kerüljenek a listába (célszerű hagyni, hogy a vezérlő keresse ki az értékeket. (55. Ábra) A második lépésben meg kell adni az értékek származási helyét (tábla, lekérdezés. (56. Ábra).
55. Ábra
56. Ábra A következő lépésben meg kell adnunk a tábla vagy lekérdezés azon elemeit, melyeket szeretnénk, ha a kombinált lista tartalmazna. (57. Ábra) A negyedik lépésben az oszlop szélességét kell beállítani (58. Ábra), majd meg kell adnunk, melyik mező értékét szeretnénk tárolni (59. Ábra) melyik mezőben (60. Ábra). A legvégén már csak egy címkenevet kell megadnunk, és el is készültünk a kombinált listával, melynek köszönhetően egy felvinni szánt értéket listából tudjuk kiválasztani. Ha közöttük nincs, új érték is felvihető a lista elemei közé. Ne felejtsük el, hogy adatbevitelnél a kombinált listából kiválasztott érték akkor kerül tárolásra, amikor maga a lista ki van jelölve (egyszerűen belekattintunk a listába, amikor kiválasztottuk az értéket).
57. Ábra
58. Ábra
59. Ábra
60. Ábra Listapanel: Abban különbözik a kombinált listától, hogy a felvinni szánt értéket, csak a lista elemei közül lehet kiválasztani, új érték nem adható meg. Parancsgomb: Megrajzolása után egy varázsló vezeti végig a parancsgomb létrehozásának folyamatát. Kép: Ebben az objektumban egy kép helyezhető el, mely egy űrlap vagy jelentés esztétikusabb kivitelezését teszi lehetővé. Ez egy különálló objektum, melynek értéke nem függ egyetlen más értéktől sem. Kötetlen objektumkeret: Kötetlen objektumkeret segítségével táblától független objektumok helyezhetők el az űrlapon vagy jelentésen (például cégünk logója).. Kötött objektumkeret: Kötött objektumokra akkor van szükségünk, ha a beilleszteni óhajtott kép egy táblából származik, úgynevezett OLE objektum (lásd az elkövetkezőkben a példa adatbázis Eladó, illetve Bérlemény tábláit). Oldaltörés: Új képernyő vagy új oldalt fog eredményezni nyomtatásban. Karton vezérlőelem: Segítségével egy olyan objektum hozható létre, melyen füleket találunk. E fülekre való kattintással
tudjuk a megjeleníteni óhajtott információkat, kiválasztani. Az, hogy melyik fül mely mezőket tartalmazza, sima áthúzással adható meg a Mezőlista ablakból. Segédűrlap, Segédjelentés: Segítségével egy olyan űrlap hozható létre, mely az adott űrlapon, mint másodlagos űrlap szerepet tölt be. Vonal, téglalap: Ezekkel az elemekkel az űrlap esztétikus kinézetét tudjuk javítani, adatcsoportok elkülönítését jobban észrevehető hatások kivitelezésére kitűnően alkalmazhatók. További vezérlők: Bizonyos ActiveX komponensek telepítésére használhatók. Vezérlőelem varázsló: Ez a varázsló biztosítja azt, hogy az egyéb objektumok létrehozásában szerepet játszó varázslók automatikusan induljanak el, természetesen bekapcsolt állapotban. Ha már megismerkedtünk a vezérlőelemekkel, nézzük meg, hogy milyen tulajdonságokat is tudunk beállítani egy adott vezérlőelemre. Az űrlap tervező nézetére felrakott vezérlőelemre való dupla kattintás után megjelenik az adott eszköz Tulajdonság ablaka. (61. Ábra) Ismerkedjünk meg néhány beállítással!
61. Ábra
Formátum tulajdonság: Szám vagy Dátum esetén több, előre definiált formátum áll rendelkezésünkre. Szöveges mezők esetén a formázó karakterek segítségével nekünk kell definiálni saját formátumot. A leggyakrabban használatos szöveget formázó karakterek a "@", mely helyére kötelező karakter beírása. A "&" helyére nem kötelező karaktert megadnunk. A "<" és ">" jelek hatására az utánuk következő karakterek csupa kis, illetve nagybetűsek lesznek. Látható tulajdonság: Ez a tulajdonság bármely vezérlőelemre beállítható. Ennek hatására a vezérlőelem vagy látszik az űrlapon, vagy nem. Kijelzés tulajdonság: Ezzel tudjuk beállítani, hogy az adott vezérlőelem például csak nyomtatásban látszódjék (egy parancsgomb esetében). Görgetősáv tulajdonság: Beállíthatjuk, hogy az adott objektum tartalmazzon-e görgetősávot. Növelhető tulajdonság: Segítségével a beviteli mező vagy űrlap, segédűrlap függőleges méretezését engedélyezhetjük. Összenyomható tulajdonság: A beviteli mezők magasságának beállítására szolgál, mely segítségével az üres sorok kiiktathatók. Speciális hatás tulajdonság: A vezérlőelem környezetéből való kiemelkedését hivatott beállítani. Kép típusa tulajdonság: Ezzel mondjuk meg, hogy a megjelenő kép beágyazott vagy csatolt legyen. Képméretezési mód tulajdonság: Megadható, hogy a vezérlőelemben a kép kitöltve, vagy csak egy része (kivágás) jelenjen meg. Zárolt tulajdonság: Beállítása esetén a vezérlőelembe nem vihető be a felhasználó részéről új érték.
Alapértelmezett érték tulajdonság: A vezérlőelem alapértelmezett értéke adható meg. Érvényességi szabály tulajdonság: Ha csak bizonyos feltételeknek eleget tevő értékeket szeretnénk engedélyezni, itt megadhatjuk azt a kifejezést, melynek eleget kell tennie az új értéknek. Érvényesítési szöveg tulajdonság: Ha a felvinni szánt érték nem felel meg az érvényességi szabálynak, az ide felvitt szöveggel tájékoztatja a felhasználót a helyes adatfelvitelre. Szerkesztés, bővítés, törlés tulajdonságok: Ezekkel a tulajdonságokkal állíthatók be, hogy az űrlappal lehessen-e meglévő rekordokat módosítani, újakat felvinni, illetve létező rekordokat törölni. Bejárási index tulajdonság: Itt adható meg a bejárási sorrend. Helyi menüsor tulajdonság: Egy makró segítségével definiálható az egér jobb gombjára való kattintással egy helyi menü.
Lecke Példa adatbázis űrlapjainak elkészítése Kezdjük munkánkat az Új település elnevezésű űrlap elkészítésével, melynek végleges formája az 62. Ábrán látható.
62. Ábra Első lépésként kiválasztjuk az objektumcsoportok közül az Űrlap csoportot, majd az Új gombra kattintunk a már megismert módon. Nem fogunk használni Varázslót, igy válasszuk a Tervező nézetet, majd kattintsunk az Ok gombra. Hatására egy üres űrlapot kaptunk, melyhez még rekordforrás sincs rendelve. Első dolgunk így az legyen, hogy a Nézet menüpont Tu-
lajdonságok parancs meghívása után az Adat fül Rekordforrás tulajdonságot állítsuk be. A listából válasszuk ki a Település táblánkat. Hatására megjelenik a Mezőlista panel (63. Ábra).
63. Ábra Ahhoz viszont, hogy az űrlapfejben is el tudjunk helyezni bizonyos elemeket, először is aktiválni kell azt. Válasszuk ki a Nézet menüpont Űrlapfej/láb parancsot. Ezt követően az üres űrlapunk három részből fog állni, az űrlapfejből, az űrlaptörzsből, és az űrlaplábból. (64. Ábra).
64. Ábra
Állítsuk be az Űrlapfej színét! Kattintsunk kettőt az Űrlapfej szöveget tartalmazó sávra, majd háttérszínnek adjuk meg a 65535-ös értéket (ez a sárga szín). Állítsuk be még a magasságát 1,414 cm-re. Ugyanezt tegyük meg az űrlap törzsével, csak ott a 16711680-as értéket (kék) adjuk meg háttérszínnek, és 3,414 cm-t magasságnak. Kattintsunk az eszköztáron található Téglalap vezérlőre, majd rajzoljunk az űrlap törzsébe egy szürke téglalapot, az 65-ik Ábrán látottak szerint.
65. Ábra
66. Ábra A mezőlistából húzzuk át a megfelelő helyekre a mezőket az űrlapra, majd a mezőkhöz tartozó címkéket is írjuk át a nekünk megfelelő szövegre (66. Ábra).
Már csak a parancsgombok kirakása és egy címke elhelyezése van hátra. A parancsgombok közül elsőként a rekordléptetőket rakjuk ki. A parancsgomb varázsló első ablakában látható Kategóriák közül a Rekordléptetést, Műveletek közül az Ugrás az előző rekordra lehetőséget válasszuk. (67. Ábra)
67. Ábra Mindenki rakjon ki egy Ugrás a következő rekordra parancsgombot is. Ezt követően az Űrlapfejbe a 62. Ábrán látható Rekordművelet - Új rekord hozzáadása parancsgomb kerül. A gombon a felirat Új legyen (68. Ábra). Már csak egy Űrlap bezárása parancsgomb kell ahhoz, hogy a 62. Ábrán látottakhoz hasonlítson a mi Űrlapunk is.
68. Ábra
Nem maradt más hátra, mint egy felirat megadása, melyet könnyen megtehetünk, ha az eszköztárról kiválasztjuk a Felirat nevű vezérlőt, megrajzoljuk a helyét, beírjuk Helységek, majd a megszokott módon formázzuk. A betűméretet állítsuk 24-es méretre, a betűszínt pedig kékre. A Felirat tulajdonságai közül a háttérstílus átlátszó, keret stílusa üres, míg a speciális hatás sima. Ha az utasításokat pontosan követtük, akkor űrlapunk végleges formája nagyon hasonlít a 69. Ábrán látható űrlapéhoz.
69. Ábra Az Ingatlantípusok űrlap elkészítése teljesen megegyezik az előbbi űrlappal, azzal a kis eltéréssel, hogy rekordforrásként az Ingatlanok táblát kell megadni. (70. Ábra)
70. Ábra
Mivel az azonosító (Típus) jelen esetben egy számláló típusú mező, új rekord létrehozásakor ezt az értéket a felhasználó nem adhatja meg, célszerű a mezőt levédeni. Ezt úgy tehetjük meg, ha az űrlap tervezőnézetében rákattintunk kettőt az Azonosító vezérlőre, és a megjelenő tulajdonságablak Adat lapján beállítjuk, hogy Engedélyezve Igen és Zárolt Nem legyen (71. Ábra).
71. Ábra
Lista Munkánk során megesik, hogy azokat az ügyfeleket, amelyek még nem szerepelnek nyilvántartásunkban, rögzíteni szeretnénk egy táblába. Erre szolgál az Új tulajdonos űrlap (72. Ábra).
72. Ábra
Elkészítésének kezdeti lépései megegyeznek az eddig elkészített űrlapok elkészítésének lépéseivel (rekordforrás a Tulajdonos tábla). Ez az űrlap annyival tartalmaz többet, mint az előzőek, hogy van egy parancsgomb, mely a rekord mentésére szolgál. Erre azért van szükségünk, mert egyes értékeket listából választjuk ki, melyek kiválasztása után a rekordokat menteni kell. Lássuk előbb a lista elkészítését. Űrlaptervező nézetben a mezőlistából minden elemet húzzunk a megfelelő helyre. Az Irszám mezőt és tartalmát töröljük le, majd válasszuk ki a Listapanel vezérlőt, rajzoljuk meg a lista helyét. A megrajzolás után elindul egy varázsló. Első lépésben hagyjuk, hogy a lista keresse ki az értékeket (ez az alapértelmezett választás). A második lépésben meg kell mondanunk, hogy a lista honnan is vegye a benne szereplő értékeket. Ez most a Település tábla, hiszen abban vannak a helységnevek és a hozzájuk tartozó irányítószámok (73. Ábra).
73. Ábra
A harmadik lépésben meg kell adnunk azokat a mezőneveket, melyeknek szerepelniük kell a listában. Most mind a két mezőre szükségünk van (74. Ábra).
74. Ábra A negyedik lépésben állítsuk be a listában szereplő oszlopok szélességét, valamint ne rejtsük el a kulcs oszlopot. (75. Ábra).
75. Ábra Az ötödik lépésben meg kell mondanunk, hogy amikor kiválasztunk a listából egy elemet, melyik mező értékét szeretnénk tárolni. Jelen esetben ez az Irszám mező (76. Ábra).
76. Ábra A hatodik lépésben azt kell megmondanunk, hogy az előző lépésben kiválasztott érték melyik mezőbe kerüljön tárolásra. Itt a lenyílóból természetesen az Irszám mezőt kell választanunk, hiszen a táblánkban ez a mező felel meg a kiválasztott érték tárolására (77. Ábra).
77. Ábra Az utolsó lépésben egy címke nevet adjunk meg, mellyel azonosítani tudjuk a későbbiekben ezt a listát. Legyen ez a címkenév Helységnevek. Ezzel elkészült első listapanelünk. Hogy mennyire értettük meg az előző lépéseket, azonnal le is ellenőrizhetjük, hiszen az ügynököket tartalmazó listát is el kellene készíteni. A lépéseket
ismerjük, a tábla, melyből származtatjuk az adatokat, az Ügynök tábla. A mezőnevek közül vegyük fel az ügynök kódját, a vezetéknevét, valamint a keresztnevét tartalmazó mezőt. Állítsuk be az oszlopok szélességét (ne rejtsük el a kulcs értékét). A listából kiválasztott rekord közül az Ügykód mezőt fogjuk tárolni, méghozzá az Ügykód mezőbe (melyet a Tulajdonos tábla tartalmaz). Végül címkenévnek adjuk meg az Ügynökök nevet (természetesen lehet bármi, csak ha hivatkozni szeretnénk erre az objektumra, pontosan tudnunk kell a nevét). Az űrlapunkról már a rekord mentése parancsgomb hiányzik (78. Ábra). Mindenki készítse el önállóan!
78. Ábra A kész űrlap tervező nézete a 79. Ábrán látható.
79. Ábra
A következő űrlapot mindenki önállóan készítse el. Ez az űrlap az új ügynökök adatainak a felvitelére szolgál. Kinézete teljesen megegyezik az Új tulajdonos űrlappal. Az Új ügynök nevű űrlap tervezőnézetben a 80. Ábrán látható.
80. Ábra
Eddig elkészített űrlapok a 81. Ábrán látott objektum ablakból bármikor ismét megnyithatók, módosíthatók, esetleg törölhetők.
81. Ábra
Űrlapjaink tulajdonságait az űrlap tulajdonságlapján állíthatjuk be. Ezek a következők lesznek. Görgető sáv
Egyik sem
Rekord kijelölők
Nem
Léptető gombok
Nem
Automatikus átméretezés
Nem
Keret stílusa
Vékony
Min Max gombok
Egyik sem
Bezárás gomb
Nem
Ugyanakkor mindegyik űrlapon, az űrlapon található mezőkhöz definiálhatunk bejárási sorrendet. Ebben a sorrendben történik a mezőkre való fókuszálás (aktívvá válás), amikor megnyomjuk a TAB billentyűt. A bejárási sorrendet az adott űrlap tervező nézetében adhatjuk meg, a Nézet menüpont Bejárási sorrend parancsot választva. Hatására egy panel jelenik meg (82. Ábra), melyben egyszerűen definiálható az űrlap bármely részén található objektumok bejárási sorrendje.
82. Ábra
Lecke Karton vezérlőelem Adatbázisunk egyik legösszetettebb űrlapja következik, melynek tervező nézetét a következő két ábra (83. Ábra és a 84. Ábra) mutatja.
83. Ábra
84. Ábra
Látható, hogy ennél az űrlapnál egy eddig még nem ismert vezérlőt alkalmazunk, a Karton vezérlőelemet. Első lépésben tehát kérjünk egy új űrlapot tervező nézetben. A Nézet menüpontban kérjünk űrlapfejet is. Állítsuk be a fej és a törzs szélességét és magasságát, majd az űrlap tulajdonságlapján állítsuk be, hogy a rekordforrás a Bérlemény tábla legyen. Így már láthatóvá vált a mezőlistát tartalmazó panel. Rajzoljuk meg a karton vezérlőelemet az űrlap törzsébe. (85. Ábra)
85. Ábra Kattintsunk kettőt a Lap1 feliratra, hogy előugorjon a vezérlő tulajdonságlapja. Egyéb fülre kattintva írjuk át az ott olvasható szöveget Bérelhető ingatlanok-ra. Ugyanezt tegyük meg a Lap2-vel, csak a szöveg legyen Jellemzők. Ezek után alakítsuk ki a 83. Ábrán, majd a 84. Ábrán látható űrlapkinézetet a mezőlistából a mezők áthúzásával. Az űrlap fejében elhelyezünk egy beviteli mezőt, melynek tartalmába beírjuk, hogy mely mező értékét mutassa. Nekünk most az irányárra lenne szükségünk, így a beviteli mezőbe írjuk be a mezőnevet szögletes zárójelben, valahogy így: [Irányár], a betű színe pedig legyen piros. A megfelelő mezőnevek mögé talán célszerű lenne
az esztétikus megjelenítés miatt elhelyezni címkéket, melyek a mértékegységek megadását szolgálják.
Mezőbeállítások Elsőként a felvétel mezőre állítsunk be beviteli maszkot a már tanult módon, a mező tulajdonságlapján (86. Ábra).
86. Ábra Itt még megadható, hogy az alapértelmezett érték legyen az aktuális dátum. Írjuk tehát be: DATE() Természetesen ez az érték bármikor átírható. Célszerű lenne, ha a Lejárat mező értéke mindig automatikusan a felvétel dátumát követő 30. nap lenne (eddig érvényes, ha nem újítják meg a megbízást). Ehhez a Lejárat mező tulajdonságlap Adat fülén írjuk be a megfelelő értékeket (87. Ábra).
87. Ábra
Elkészült a Bérelhető ingatlanok űrlap. Az itt tanultakat is van lehetőségünk gyakorolni, ugyanis az Eladó ingatlanok űrlap minden elemének elkészítése megegyezik az előbbiekkel. Egyedüli eltérés, hogy rekordforrásként az Eladó táblát kell megadnunk. Az űrlap tervező nézeteit a 88. Ábra, valamint a 89. Ábra mutatja.
88. Ábra
89. Ábra
Lecke
Fő űrlap elkészítése Ez az űrlap a nyitó űrlapja adatbázisunknak. A megnyitás után ez az űrlap indul el, majd a két parancsgomb közül az egyik tovább enged, a másik pedig kiléptet az adatbázisból (90. Ábra).
90. Ábra
Ezt az űrlapot is tervező nézetben készítjük el. Csak törzse van űrlapunknak, amelyre egy Téglalap vezérlőelem van ráhelyezve úgy, hogy takarja a törzset. A téglalap színe világoskék. A kép beillesztéséhez egy Kép vezérlőelemet kell elhelyezünk a világoskék színű téglalapon. A vezérlő megrajzolása után egy varázsló segít a kép megkeresésében. Nincs más dolgunk, mint tallózással megkeresni a beilleszteni óhajtott képet (Oktató CDROM Access mappájában logo.bmp). A beillesztés után a Kép vezérlő tulajdonságlapján be kell állítani, hogy a kép hogyan töltse ki az objektumot. Lehet kivágás, kitöltés, méretezés. Mi válasszuk a Kitöltés tulajdonságot (91. Ábra).
91. Ábra A kép objektum tulajdonságlapjának többi fontosabb beállítása a 92. Ábrán látható.
92. Ábra
Miután elkészítettük űrlapunkat, készítsük el a parancsgombokat. Az Elfogadom-ra való kattintás bezárja az űrlapot, és normál méretre állítja az adatbázisablakot. Ha a Nem fogadom elre kattantanak, a rendszer kilép az alkalmazásból. Az Elfogadom parancsgombnál, a kategóriából válasszuk az Űrlap műveleteket (93. Ábra), míg a Nem fogadom el esetében az Alkalmazás kategória Kilépés az alkalmazásból műveletet kell megadni (94. Ábra).
93. Ábra
94. Ábra
Mentsük el most űrlapunkat, ha eddig nem tettük volna meg. Az űrlap neve legyen Fő űrlap.
Űrlap programozása Ahhoz, hogy az űrlapunk indulásakor valamilyen programkód fusson le, tudatni kell a rendszerrel. Az űrlap tervező nézetében a tulajdonságlap Esemény fülén a Megnyitásra eseménynél kattintsunk a 95. Ábrán látható ikonra.
95. Ábra Hatására elindul a Visual Basic Editora, ahol olvashatjuk és szerkeszthetjük az űrlapunkhoz tartozó kódokat.
Az Editorban olvasható kódot módosítsuk a következő formára: Option Compare Database Option Explicit
Private Sub Form_Open(Cancel As Integer) ' Az Adatbázis ablaknak kis méretre való csökkentése, űrlap cializálása.
On Error GoTo Form_Open_Err 'Hiba esetén ...' ' Kis méretre hozza az adatbázis ablakot. DoCmd.SelectObject acForm, "Fő űrlap", True DoCmd.Minimize
Form_Open_Exit: Exit Sub
Form _Open _Err: MsgBox Err.Description Resume Form_Open_Exit
End Sub Private Sub ElFogad_Click() ' Ha az Elfogad gombra kattintanak.'
On Error GoTo Err ElFogad _Click
DoCmd.Close DoCmd.Restore Exit_ElFogad_Click: Exit Sub Err ElFogad_Click: MsgBox Err.Description Resume Exit_ElFogad_Click End Sub Private Sub NemFogad_Click() ' Ha a NemFogadra kattintanak.' On Error GoTo Err NemFogad_Click DoCmd. Quit Exit_NemFogad_Click: Exit Sub Err_NemFogad_Click: MsgBox Err.Description Resume Exit_NemFogad_Click End Sub
A DoCmd.Restore parancs az, amely az űrlap bezárása után az adatbázis ablakot visszaállítja az előző méretűre. A címke nevek eltérhetnek az itt megadottaktól (címkenevek: Elfogad, Nemfogad). Ugyanakkor a DoCmd.SelectObject acForm, "Fő űrlap'; True esetében az idézőjelek közőtt az űrlapnév szerepel, ennek itt meg kell egyeznie. A változtatás után mentsük el űrlapunkat. Már csak az maradt hátra, hogy beállítsuk, hogy az adatbázis elindítása ezzel az űrlappal történjen. Ezt a következőkép tehetjük meg. Amikor elindítottuk adatbázisunkat, és megjelenik az adatbázis ablak, az Eszközök menü Indítás parancs hatására egy indítási panel jelenik meg (96. Ábra), ahol beállíthatjuk, hogy mely űrlappal szeretnénk nyitni.
96. Ábra A beállítás után lépjünk ki az alkalmazásból, majd indítsuk el újra a Biztosan nyerő adatbázisunkat. Vigyünk fel az űrlapokra adatokat.
Lecke Makrók Még mindig nem tökéletes minden űrlapunk. Ha például egy bérelhető ingatlan adatainak felvitele közben a listában szereplő rekordok között nem találjuk a megfelelőt, bizony először azt kellene felvinni, de ehhez egy másik űrlapot kell megnyitni. Célszerű lenne, ha felvitel közben, amikor a listában nem találjuk a nekünk szükséges rekordot, azonnal fel tudjuk vinni az új rekordot, majd folytatva a felvitelt, az újonnan felvitt listaelem is jelenjen meg a listában. Ezt úgy készítjük majd el, hogy minden listapanel mellett lesz egy gomb, melyre kattintva megnyílik a hozzá tartozó űrlap. Ott elvégezzük az adatfelvitelt, majd ismét visszatérünk eredeti űrlapunkhoz, melynek listájában már megjelenik az új elem is. Munkánkat könnyítené meg az is, hogy a kép felvitelekor elegendő legyen a kép objektumra kettőt kattintunk, majd ezt követően lehetővé válik a kép kiválasztása és beillesztése. E műveletek elvégzésére a makrókat hívjuk segítségül.
Add_Fényképet makró Az adatbázisablak objektumcsoportok közül válasszuk a Makrók csoportot, majd kattintsunk az Új gombra. Megjelenik a Makró ablak (97. Ábra).
97. Ábra A makró ablaknak ebben a részében helyezhetők el a műveletek, melyeket a makrónkban fel szeretnénk használni. Egy művelet kiválasztásakor a makró ablak alsó részében beállíthatjuk a makróhoz tartozó argumentumokat (98. Ábra). Itt kell konkrétan megmondani, hogy a művelet mely objektumra vonatkozzon.
98. Ábra Készítsük el a fénykép beszúrásához használatos makrót. A makró ablakban állítsuk be a 99. Ábrán látható műveleteket, majd a Parancs Futtatása műveletnél adjuk meg a 100. Ábrán látható argumentumokat.
99. Ábra
100.
Ábra
Ezek után mentsük el a makrónkat, melynek neve legyen Add_Fényképet. Illesszük is be makrónkat a két űrlap OLE objektumához. Először nyissuk meg tervező nézetben a Bérelhető ingatlanok űrlapot, majd ott a tulajdonságlap Esemény fül Dupla kattintás eseménynél kattintsunk a lenyílóra, és válasszuk ki a most elkészített makrót (101. Ábra). Az Egyéb fül Automatikus aktiválás legyen Kézi.
101.
Ábra
Ezt a makrót az Eladó ingatlanok űrlaphoz is a megfelelő helyre illesszük be. Ha az adatok felvitelénél egy ingatlan esetében képet is szeretnénk felvinni, elegendő a képet tartalmazó objektumra kettőt kattintani, és az ott megjelenő ablakban tallózással megkeresni a felvinni óhajtott fényképet.
Létező irszám makró Következzen most egy másik makró. A Település táblában, egy új érték felvitele esetében célszerű lenne, hogy az irányítószám megadása után egy üzenetet kapnánk abban az esetben, amikor már egy létező irányítószámot adunk meg. A Makrók objektumcsoportban kattintsunk az Új gombra, majd adjuk ki a Nézet menüpont Feltételek parancsot. A makró szerkesztő ablak egy új oszloppal egészül ki (102. Ábra).
102. Ábra A Feltétel oszlopba írjuk be a következő kifejezést: DLookUp("[Irszám]"; "[Település]"; "[Irszám]=Form.[I rszám]") Is Not Null A fenti kifejezés megnézi, hogy a Település tábla Irszám mező értéke megegyezik-e az űrlapon megadott Irszám mező értékével. Ha igen, a függvény visszaadott értéke nulla, vagyis van már ilyen irányítószámunk.
A művelet sorban válasszuk ki az üzenetpanelt (mert ezen üzenünk a felhasználónak). Az üzenetpanelhez tartozó paraméterek megadását a 103. Ábra tartalmazza.
103. Ábra A művelet következő sorában szakítsuk meg az eseményt, hiszen a függvényünk hibát jelzett vissza. Vagyis a makrónk valahogy úgy nézzen ki, mint a 104. Ábrán látható.
104. Ábra A makrót mentsük el Létező irszám néven. Miután elkészültünk a makróval, nyissuk meg az Új település űrlapunkat tervező nézetben. Kattintsunk az irányítószámot tartalmazó objektumra (Irszám), majd az objektum tulajdonságlapján az Esemény fülre kattintva a Frissítés előtt sorba a lenyíló segítségével adjuk meg a most elkészített makrónkat (105. Ábra).
105. Ábra Ha mindent jól csináltunk, és az űrlapon adatfelvitel során egy már létező irányítószámot adunk meg, megjelenik az általunk óhajtott üzenetpanel (106. Ábra).
106. Ábra
Frissítés makró Következzen most egy olyan makró, amely az Eladó ingatlanok illetve Bérelhető ingatlanok űrlapok esetében, amikor megadjuk a felvitel dátumát, frissíti a Lejárat mezőben szereplő értéket is. Hiszen az ott szereplő érték a felvitel dátuma hoz-
záadva 30 nap. A makró elkészítése a szokásos módon történik. A makró-szerkesztő ablakban a művelet első oszlopában adjuk meg az Értékbeállítás műveletet. A művelethez tartozó paramétereket (attribútumokat) a 107. Ábra tartalmazza:
107. Ábra A művelet második sorába adjuk meg a Makró megállítása műveletet. A makrót mentsük el Frissítés néven. Ezek után az említett űrlapokban külön-külön tervező nézetben, a Felvétel mező tulajdonságlapjának Esemény fülére való kattintás után a Fókusz elvesztésekor sorban a lenyílóból keressük ki a most elkészített makrónkat (108. Ábra).
108. Ábra
Add_Új_Ingatlan_típust makró A következő makrók valójában hasonló célt szolgálnak, ugyanis arról van szó, ha egy listából egy értéket kell kiválasztanunk, ha az ott nem szerepel, a makró meghívja a listához tartozó űrlapot, majd a felvitel után frissíti a listában szereplő értékeket. A lista mellett ezért elhelyezünk egy parancsgombot, melyre kattintva tudjuk a makrónkat elindítani. Első lépésként kell egy makró ahhoz, hogy új ingatlantípust tudjunk megadni. A makró-szerkesztő ablakban a műveleteket a 109. Ábra tartalmazza.
109. Ábra Az Űrlap megnyitása művelet attribútumait a 110. Ábra mutatja:
110. Ábra
A Bezárás művelethez tartozó attribútumok beállítása 111. Ábrán látható.
111. Ábra Végül az Újralekérdezés attribútuma (112. Ábra)
112. Ábra Ez a vezérlőelem névnek meg kell egyeznie a lekérdezni óhajtott listaelem nevével. A kész makrót mentsük el, Add_Új_Ingatlan_típust néven.
Add_Új_Települést makró Következzen most az a makró, melyet egy település felvitelekor szeretnénk aktivizálni. A makró-szerkesztőben a műveletek úgymond megegyeznek az előző makróéval, csak az attribútumokat kell megváltoztatnunk (113. Ábra).
113. Ábra
Az űrlap megnyitása művelet attribútumai a 114. Ábrán láthatók.
114. Ábra A Bezárás művelet attribútumait is meg kell adnunk (115. Ábra):
115. Ábra Majd legvégül az újra lekérdezés attribútumai, melynél, mint tudjuk, a vezérlőelem neve meg kell, hogy egyezzen a listaelem nevével (116. Ábra).
116. Ábra Mentsük el, ezt a makrónkat Add_Új_Települést néven.
Add_Új_Tulajdonost makró Következzen most egy olyan makró, ahol egy új tulajdonos adatait szeretnénk megadni, ezért a makró az Új Tulajdonos űrlapot nyitja meg. A makró-szerkesztő ablakban a műveleteket a 117. Ábra mutatja. Az űrlap megnyitása művelet attribútumai a 118. Ábrán láthatók.
117. Ábra
118. Ábra Az űrlap bezárásához a következő attribútumokat kell megadnunk. (119. Ábra)
119. Ábra
És végül meg kell adnunk az újralekérdezéshez az attribútumot. (120. Ábra)
120. Ábra Kész makrónkat mentsük el, Add_Új_Tulajdonost néven.
Add_Új_Ügynök makró Ennek a makrónak is hasonló feladatot kell ellátnia, mint a tulajdonosokhoz tartozó makró, csak most az ügynökök esetében. A makró-szerkesztő ablakban így a műveleteket a 121. Ábrán láthatjuk.
121. Ábra
122. Ábra
Az űrlap megnyitásához a beállítást a 122. Ábrán láthatjuk. A bezárás attribútumait a 123. Ábra mutatja
123. Ábra És végül, de nem utolsó sorban, az újralekérdezés attribútumai következnek (124. Ábra).
124. Ábra Kész makrónkat ne felejtsük elmenteni, Add_Új_Ügynököt néven. Munkánk befejezése után a 125. Ábrán látható makróknak kell a Makró objektumablakban szerepelni.
125. Ábra
Makrók indítása parancsgombról Mindegyik űrlapon, ahol van listaelem, készítsünk el a lista mellé egy kis parancsgombot a már ismert módon. Az első lépésben az Egyéb kategóriát válasszuk, majd a Makró futtatása műveletet (126. Ábra). A következő lépésben már csak a kívánt makrót kell kiválasztanunk (127. Ábra).
126. Ábra
127. Ábra
Csak arra kell vigyáznunk, hogy minden parancsgombhoz a neki megfelelő makrót rendeljük hozzá. A Bérelhető ingatlanok űrlapot a 128. Ábrán és a 129. Ábrán láthatjuk:
128. Ábra
129. Ábra Mindegyik parancsgomb tulajdonságlapján az események között a Kattintásra esemény bekövetkeztekor állítsuk be a megfelelő makrót. Például az új ingatlan hozzáadásának a beállítását a 130. Ábra mutatja.
130. Ábra Az Eladó ingatlanok teljesen hasonlítanak a Bérelhető ingatlanok űrlaphoz, így annak beállítását önállóan kellene elvégeznünk. Az Új Tulajdonos űrlap végleges formáját a 131. Ábrán láthatjuk, míg az Új Ügynök űrlap végleges formáját a 132. Ábra mutatja.
131. Ábra
132. Áb ra
Lekérdezések Az adatbázist azért hozzuk létre, hogy az abban tárolt adatokról mindig frissen, naprakész állapotban kapjunk információt, választ kapjunk kérdéseinkre. Ezeket a kérdéseket lekérdezésekkel tesszük fel. A lekérdezések segítségével a táblákban tárolt rekordokból a nekünk szükséges adatokat tudjuk megjeleníteni. Tehát, egyfajta kiválogatás történik a nagy adathalmazból azzal a kényelmi szolgáltatással, hogy a lekérdezések képesek a táblák közötti kapcsolt mezők segítségével részünkre a megfelelő formában megadni az adatokat. A lekérdezéseknek több fajtáját ismerjük, melyek más és más célt szolgálnak. Választó lekérdezés Akciós lekérdezések Frissítő lekérdezés Táblakészítő lekérdezés - Törlő lekérdezés - Hozzáfűző lekérdezés Kereszttáblás lekérdezés
Lecke A választó lekérdezések Választó lekérdezéseknek nevezzük azokat a lekérdezéseket, melyek egy vagy több tábla mezőiből egy új, fiktív táblát hoznak létre, valamint azokat a mezőket tartalmazzák, melyeket mi megadtunk, és csak azok a rekordok kerülnek kijelzésre, melyek a lekérdezésben előírt feltételeknek eleget tesznek. A lekérdezéseket egy úgynevezett QBE rács (Quuery by example - Lekérdezés példa alapján) segítségével készítjük el, ahol beállítjuk a táblák közötti kapcsolatokat, megadjuk a szükséges mezőneveket, számított mezőkhöz képleteket definiálunk (133. Ábra).
133. Ábra
Új lekérdezés Válasszuk ki az adatbázisablakban a Lekérdezések objektum csoportot, majd kattintsunk az Új parancsgombra. (134. Ábra) Adjuk meg a lekérdezés elkészítésének módját.
134. Ábra Az előugró ablakban dönthetünk, hogy mi saját magunk készítjük el a lekérdezésünket, vagy igénybe vesszük a Varázsló segítségét (135. Ábra). Ha a Varázslót választjuk, néhány kérdésekre válaszolnunk, majd könnyen elkészíthető a lekérdezés. Ha viszont mi magunk szeretnénk mindent definiálni, akkor Tervező nézetet kell választani.
135. Ábra
Ki kell választani, hogy mely táblákra, lekérdezésekre lesz szükségünk új lekérdezésünk elkészítéséhez. (136. Ábra).
136. Ábra Miután kiválasztottuk a szükséges rekordforrásokat, a lekérdezés ablak felső részében láthatók azok a táblák, lekérdezések, melyeket kiválasztottunk. Némely tábla között automatikusan létrejön a kapcsolat is. Az Access automatikusan létrehoz két tábla között kapcsolatot, ha a táblák mindegyikében van egy ugyanolyan nevű és típusú mező, valamint ezek közül az egyik elsődleges kulcs. Ha nem jött létre a kapcsolat, azt mi magunk is létrehozhatjuk a már jól megismert ráhúzásos technikával (az egyik táblában lévő mezőre rákattintunk az egérrel, megfogjuk, majd a másik tábla azonos nevű mezőnevére visszük, és ott elengedjük). A lekérdezés ablak alsó részében (QBE rács) kiválaszthatjuk, hogy mely mezőket szeretnénk megjelenítetni a lekérdezéssel. Az első sorban lévő lenyílókból kiválasztjuk a mezőnevet, vagy egyszerűen a fenti táblákban kettőt kattintunk a megfelelő mezőre (137. Ábra).
137. Ábra Ha a megjelenítés sorban kivesszük a négyzetből a """ jelet, az adott mezőnevet használja a lekérdezésünk, de nem jeleníti meg tartalmát. Ugyanakkor egy összetett lekérdezés esetében előfordulhat, hogy a QBE rács nem eléggé áttekinthető. Ilyenkor célszerű bekapcsolni a Nézet menüpont Táblanevek parancsot (138. Ábra).
138. Ábra
Itt is definiálható formátum a mezőnevekhez. Ehhez a kívánt oszlopba kell kattintani, majd a Nézet menüpont Tulajdonságok parancsot választva a mezőtulajdonságok panel ugrik elő (139. Ábra), ahol a korábban már megismert formázó karakterek használhatók.
139. Ábra A Feltétel sorba adjuk meg azt a feltételt, mely szerint a kért rekordokat látni szeretnénk. Konkrét érték esetén a mezőbe be kell írni a kívánt értéket. A kisebb vagy nagyobb érték esetében a "<" és ">" jelet, a nem egyenlő esetén a "<>" vagy "!" jelek közül valamelyiket használhatjuk (140. Ábra).
140. Ábra
Számított mezőket is létrehozhatunk lekérdezéseinkben. Ilyenkor a szabály az, hogy a mezőnevet kettőspont választja el a kifejezéstől, mint például: ÚJ ÁR: MENNYISÉG![DARAB] * TÉTELEK![ÉRTÉK] * 1.12
Csoportosítás, összesítés Ha a Nézet menüpont Összesítés parancsot bekapcsoljuk, lehetőségünk van csoportosítani a lekérdezésből kapott adatokat, vagyis az azonos tartalmú sorokat csak egyszer jeleníti meg a rendszer. A QBE rács kiegészül egy Összesítés sorral, ahol lehetőségünk van a kívánt összesítő függvényeket, illetve záradékokat kiválasztani. Összesítő függvények SUM
A mező értékeinek összegét adja meg.
MIN
A mezőben szereplő legkisebb érték.
MAX
A mezőben szereplő legnagyobb érték.
AVG
A mezőben szereplő értékek átlaga.
COUNT
A mezőben előforduló értékek száma (darab).
FIRST
A tábla vagy lekérdezés első rekordját adja vissza.
LAST
A tábla vagy lekérdezés utolsó rekordját adja vissza.
Záradékok GROUP BY EXPRESSION WHERE
Hatására a megegyező értékekre csoportosít. Összesítő függvényeket számított mezők esetében.
tartalmazó
Egy olyan mezőre szab feltételeket, melyet nem csoportosít.
Tulajdonosok lakcímei lekérdezés Tegyük fel, hogy szeretnénk látni, az ingatlanok tulajdonosai milyen lakcímen érhetők el. Mivel a Tulajdonos táblában csak a helységhez tartozó irányítószám van letárolva, ezért a Település táblát is fel kell venni. A Lekérdezések objektumcsoportban az Új gombra kattintás után válasszuk ki a Tervező nézetet. A tábla hozzáadása panelből válasszuk ki a már említett két táblát, majd zárjuk be a panelt. Láthatjuk, hogy a kapcsolat a két tábla között automatikusan létrejött. Nincs más dolgunk, mint hogy a kívánt mezőket hozzáadjuk a lekérdezésben szereplő oszlopokhoz. (141. Ábra) Lekérdezésünk kipróbálásához kattintsunk a "!" jelet tartalmazó ikonra (142. Ábra).
141. Ábra 142. Ábra Mentsük el lekérdezésünket Tulajdonosok lakcímei néven. Adjuk ki a Fájl menüpont Mentés parancsot és gépeljük be a lekérdezés nevét, majd kattintsunk az Ok gombra.
Tulajdonosok és ügynökeik lekérdezés Ha azt szeretnénk látni, hogy melyik tulajdonosnak ki az ügynöke, ahhoz a következő lekérdezésre van szükségünk. A szokásos módon jussunk el a tervező nézetben a tábla hozzáadása panelig, majd ott vegyük fel a Tulajdonosok, a Település, valamint az Ügynökök táblákat. A kapcsolat a táblák között automatikusan létrejött, így nincs más dolgunk, mint felvenni a kívánt mezőneveket az adott táblákból. A lekérdezés kipróbálása után mentsük el Tulajdonosok és ügynökeik néven.
Kibérelhető nyaralók lekérdezés Eddig csak mezőneveket adtunk hozzá a lekérdezéshez, de nem szabtunk feltételeket. Lássunk erre is egy példát. Tegyük fel, hogy a nyár közeledtével tudni szeretnénk, mely nyaralók azok, melyeket ki lehet bérelni, hol találhatók, mennyi a bérleti díj. A lekérdezés kezdeti lépései után a tábla hozzáadása panelből válasszuk ki a Bérlemények, az Ingatlanok és a Település táblákat. Az ingatlanok táblára azért van szükségünk, mert a Bérlemények tábla csak az ingatlan típusának a kódját tartalmazza, nekünk pedig a megnevezésből kell kiindulni. Miután megadtuk a szükséges táblákat, a mezőnevek felvételekor a nyaraló esetében válasszuk ki a megnevezést, ne a kódot. Most már csak annak a megadása következik, hogy az ingatla-
nok közül csak a nyaralók jelenjenek meg. Ehhez a QBE rács Feltétel sorába írjuk be a "Nyaraló" szót (143. Ábra). Tudnunk kell azt, hogy szöveget "-ek közé kell tenni, a számot csak meg kell adni. Ha lefuttatjuk lekérdezésünket és működik, mentsük el Kibérelhető nyaralók néven.
143. Ábra
Bérelhető ingatlanok lekérdezés Készítsünk még egy lekérdezést, mely egy kicsivel bonyolultabb az eddig bemutatottaknál. Meg szeretnénk például azt tudni, hogy kinek van kiadó ingatlanja, milyen típusú és hol található az adott ingatlan. Ehhez a lekérdezéshez fel kell vennünk négy táblát. Kell a Tulajdonos tábla, valamint kellenek még a Bérlemény, a Település és az Ingatlan táblák. Miután létrejöttek a kapcsolatok, definiáljuk a szükségesnek ítélt, megjeleníteni tervezett mezőket. Amikor elkészültünk, próbaképp futtassuk le a lekérdezést ellenőrzés céljából, mentsük is őt el Bérelhető ingatlanok néven. Így utólag említenénk meg, hogy célszerű arra is gondolni, hogy az adott ingatlanra az ajánlat érvényes-e (ehhez az Érvényes mező a feltétel sorában be kell írni, hogy "Igen").
Gyakorlásképp készítsük el ennek a lekérdezésnek azt a változatát, ahol az eladó ingatlanok jelennek meg. Ha már egy meglévő lekérdezést szeretnénk módosítani, ki kell választani azt, majd a Tervezés gombra kattintva a lekérdezés módosítható.
Paraméteres lekérdezések Az eddig elkészített lekérdezéseknél azt lehetett észrevenni, hogy mindegyik egy konkrét feladatra készült. Ilyen volt a Bérelhető nyaraló lekérdezés is, ahol csak a nyaralókat kaptuk meg, de ha minket történetesen a lakások érdekelnének, ehhez egy új lekérdezést kellene elkészítenünk. Az ilyen feladatokra szolgálnak a paraméteres lekérdezések, ahol a lekérdezés futtatásakor kell megadni azt az értéket, melynek következtében csak azok a rekordok jelennek majd meg, melyek megfelelnek a feltételnek. Vagyis, nem konkrét értéket írunk be a Feltétel sorba, hanem azt menetközben kérjük be. Vegyünk erre is egy példát! Tegyük fel, hogy érdekelnek bennünket eladó ingatlanok, melyek eleget tesznek annak a kérésnek, hogy irányáruk a részünkről megadott két szélső érték közé esnek (beleértve a szélsőértékeket is). A lekérdezés elkészítése érdekében fel kell vennünk az Eladó, az Ingatlan és a Település táblákat (ha a tulajdonos is érdekel bennünket, akkor a Tulajdonos táblát is). Ha a kapcsolat megvan a táblák között, vegyük fel a szükséges mezőneveket. Amit nem szabad kihagyni, a Megnevezés mezőt az ingatlan táblából (az ingatlan típusa miatt), valamint az Irányár mezőt.
A mezőnevek megadása után következik a feltételek megadása. Először keressük ki az ingatlan megnevezése mezőt, és ott a feltétel sorba írjuk be a következőt: Like * & [Kérem az ingatlan típusát (lakás, ház, stb....): ] & Ezt a hosszú kifejezést könnyebben írjuk be, ha a feltétel sorban állva a jobb egérgombra kattintás után előugró menüből kiválasztjuk a Nagyítás parancsot. Ezáltal egy nagyobb ablakot kapunk, ahová áttekinthetőbben tudjuk beírni a kívánt kifejezést (144. Ábra).
144. Ábra A beírás után jelöljük ki a szögletes zárójelben található szöveget (beleértve a zárójeleket is). Adjuk ki a Szerkesztés menü Másolás parancsát (ezáltal a kijelölt szöveg vágólapra kerül). Ezek után a Lekérdezések menü Paraméterek parancsot kiadva megjelenik a Lekérdezések paraméterei ablak (145. Ábra), ahová illesszük be a vágólap tartalmát (Ctrl + V), majd az adattípusnál adjuk meg, milyen típusú legyen az adott mező.
145. Ábra A fenti kifejezés jelentése az, hogy a felhasználó által beírt szövegre hasonlító mintát keres az adott mezőben, ahol a szőveg előtt is lehet még bármilyen bejegyzés, és utána is lehet bármi. Most következzen az irányár megadása. A megfelelő mező feltétel sorába írjuk be a következő kifejezést: Between [Kérem az Irányár alsó értékét: ] And [Most kérem a felső értéket: ] A már tanult módon jelöljük ki egyesével a szögletes zárójeles kifejezéseket, és adjuk meg a lekérdezés paraméterei ablakban, a kifejezésben szereplő paramétereket (minden szögletes zárójelben szereplő érték külön paraméter). Adattípusnak pedig pénznemet adjunk meg. Ha elkészültünk és mind a három paraméterünk megvan, valamint próbaképp lefutattuk a lekérdezést, és megfelelően működik, mentsük el Eladó két érték között néven. Gyakorlásképp készítsük el még azt a lekérdezést, amely a három legdrágább eladó ingatlant adja vissza tulajdonos nevével együtt.
Ehhez vegyük fel az Eladó, Település, Ingatlan és Tulajdonos táblákat, majd a szükséges mezőnevek felvétele után az Irányár mező szerint rendezzünk csökkenő sorrendben. Végül a csúcsértéket állítsuk be háromra (146. Ábra). Futassuk le, majd mentsük el a lekérdezést Három legdrágább néven.
146. Ábra Annyit még jegyezzünk meg, ha a lekérdezés által visszakapott mezőértékek frissíthetők, akkor a mező átírásával a megfelelő tábla mezőértékét is módosítjuk.
Lecke Akciós lekérdezések Ha sok adatot kell módosítani azonos módon, akkor felmerül a kérdés, nincs-e olyan egyszerűbb megoldás, amely egyszerre elvégezné ezeket a műveleteket. Az adatbázis-kezelő programok fő jellemzője éppen az, hogy nagy mennyiségű adatokat kezelnek a lehető leggyorsabb módon. Az adatok kezelése körében gyakran előfordul, hogy új adat bevitelére, meglévő adatok másolására, áthelyezésére, törlésére van szükség. Az Accessben erre találták ki az akciós lekérdezéseket. Az akciós lekérdezéseknek 4 fajtája van, a végrehajtandó művelettől függően. Mivel ezek a lekérdezések már meglévő adatokat módosíthatnak, ezért mindig készítsünk másolatot fontos adatainkról, mielőtt az akciós lekérdezést futtatnánk.
Frissítő lekérdezés Azokat a lekérdezéseket, melyek adatmódosítást hajtanak végre a rekordok egy csoportján, vagy akár az összes rekordon, frissítő lekérdezéseknek nevezzük.
Elkészítésének a kezdeti szakasza megegyezik az eddig tanultakkal. Tervező nézetben adjuk ki a Lekérdezés menü Frissítő lekérdezés parancsot. Hatására a QBE rács alsó sora kiegészül egy Módosítás sorral (147. Ábra).
147. Ábra Az itt beírt kifejezés által kapott értékre módosulnak a feltétel sorban megadottaknak eleget tevő rekordok adott mezői. A végén a megszokott módon mentsük el lekérdezésünket. Lássunk erre is egy példát! Az általunk felvett ingatlanok egy idő után érvényüket vesztik. Ezért szükségünk lenne egy olyan lekérdezésre, amely a Bérlemény tábla Érvényes mező értékét átállítja, ha a Lejárat mező értéke kisebb a mai dátumtól. Ennek a lekérdezésnek az elkészítéséhez csak a Bérlemény táblára van szükségünk. A mezőnevek közül elsőnek vegyük fel az Érvényes mezőt, majd másodikként a Lejárat mezőt. Adjuk ki a Lekérdezés menü Frissítő lekérdezés parancsot. A most megjelenő Módosítás sorba írjuk be az Érvényes oszlopában, hogy Nem, majd a második oszlopban (Lejárat mező) a feltétel sorba írjuk be: < Date°. A végén mentsük el a lekérdezésünket Bérlemény érvényessége néven.
Táblakészítő lekérdezés Az ilyen típusú lekérdezések egy új táblát készítenek el azokból a rekordokból, melyeket a lekérdezés, mint eredményhalmazt viszszaad. A jobb megértés érdekében készítsük el azt a lekérdezést, amely az érvénytelen bérleményeket, egy Érvénytelenek nevű táblába másolja. A szükséges tábla a Bérlemények tábla. A mezőnevek felvétele után (most vegyük fel az összes mezőt) az Érvényes oszlop feltétel sorába írjuk be azt, hogy Nem. Ezzel azt érjük el, hogy csak az érvénytelen bérleményeket kapjuk vissza (próbáljuk is ki). Váltsunk vissza tervező nézetbe, majd a Lekérdezés menü Táblakészítő lekérdezés parancsot kiadva (148. Ábra) bejelentkezik a Táblakészítő panel (149. Ábra). Itt kell megadnunk az új tábla nevét és azt, hogy az újonnan létrehozott tábla az aktuális adatbázisba, illetve egy másik adatbázisba kerüljön.
148. Ábra
149. Ábra Adjuk meg most az Érvénytelenek nevet, valamint maradjunk ebben az adatbázisban. Mentsük el a lekérdezést, Érvényteleneket másol néven. A lekérdezés lefuttatása után látjuk, hogy létrejött a tábla és azokat a rekordokat tartalmazza, melyek a lekérdezésünkben megadott feltételeknek eleget tettek.
Törlő lekérdezések A törlő lekérdezések segítségével a feltételeknek eleget tevő rekordok végérvényesen törölhetők a megadott táblából. Ha az adattábla, amiből törölni szeretnénk egy-a-többhöz típusú relációban áll egy másik adattáblával, és be van állítva a hivatkozási integritás és a kapcsolt mezők kaszkádolt törlése, akkor a másik adattábla kapcsolt rekordjai is törlődnek. Ezért nagyon fontos, hogy törlő lekérdezés alkalmazásakor körültekintően járjunk el, a lekérdezés futtatása előtt készítsünk biztonsági másolatot az adattábláról.
Készítsünk el egy olyan lekérdezést, amely az imént átmásolt rekordokat törli az eredeti táblából. A lekérdezés elkészítése a megszokott módon történik. Vegyük fel ugyanazokat a mezőneveket, melyeket az előző lekérdezésben használtunk. Itt jegyezzük meg, hogy az adott táblában a "*"-ot választva ugyanazt tesszük, mintha az összes mezőt felvennénk egyesével. Persze, ilyenkor nem tudunk külön feltételeket szabni a mezőkre, így azokat a mezőneveket, melyekre feltételt szeretnénk megadni, külön fel kell vennünk, csak kapcsoljuk ki a megjelenítendő négyzetet. Jelen esetben a második oszlopba vegyük fel az Érvényes mezőt, majd annak feltétel sorába írjuk be az előbb használt értéket, vagyis Nem. Most adjuk ki a Lekérdezés menü Törlő lekérdezés parancsot. Hatására a QBE rács kiegészül egy Törlés nevű sorral, amelynek értéke Where vagy From lehet (150. Ábra).
150. Ábra A Where értékkel jelölt mezők tartalmazzák a feltételeket, míg a From azt a táblát mutatja, ahonnan törölnénk (egytáblás lekérdezéseknél a From megadása elmaradhat, de több táblás lekérdezések esetén megadása kötelező). Ezután mentsük el, Érvényteleneket töröl néven a lekérdezést.
Hozzáfűző lekérdezések A hozzáfűző lekérdezéssel adatokat vihetünk át egy másik táblába. Ez a másik tábla lehet akár egy másik adatbázis része is. Készítsük el azt a lekérdezést, amely az utolsó rekordérvénytelenítés óta érvénytelenné vált ingatlanokat, a már elkészített Érvénytelenek táblába másolja. A lekérdezés elkészítésében nincs semmi új, az előbbi két lekérdezés menetével teljesen megegyezik. A mezőnevek és a feltétel megadása után a Lekérdezés menü Hozzáfűző lekérdezés parancsot, melynek hatására megjelenik a Hozzáfűzés panel (151. Ábra).
151. Ábra Itt kell megadnunk, hogy a lekérdezés feltételeinek eleget tevő rekordok mely táblába másolódjanak. Itt adjuk meg az Érvénytelen táblanevet. A lekérdezést mentsük el Érvénytelenek hozzáfűz néven. Van most már három olyan lekérdezésünk, melyekkel karban tudjuk tartani tábláinkat. A táblakészítő lekérdezést először kell csak lefuttatnunk, utána a nevezett táblához csak hozzá kell fűzni a rekordokat. Természetesen a rekordmásolás után nem szabad elfeledkezni a Bérlemény táblából a másolt rekordok törléséről sem.
Készítettünk választó és akciós lekérdezéseket. A Lekérdezések objektum ablakban megtekinthetjük ezeket. Látható, hogy a lekérdezések nevei előtt szereplő kis ikonok nem egyformák minden esetben. Érdemes megfigyelni, hiszen ezek a kis jelek már rátekintésre eligazítanak minket arról, hogy választó lekérdezést, vagy esetleg valamelyik akciós lekérdezést tartalmaznak-e. (152. Ábra)
152. Ábra
Lecke Kereszttáblás lekérdezés A kereszttáblás lekérdezés, mint speciális választó lekérdezés az adatokat a táblázatkezelőkhöz hasonlóan rács formátumban jeleníti meg. 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. Készítsünk mi is egy kereszttáblás lekérdezést, amely megmutatja, hogy ki, milyen ingatlant ad bérbe, mennyi a bérleti díjak összege. Először kell készítenünk egy lekérdezést, amely már tartalmazza a szükséges adatokat, csak még nincs csoportosítva. A Lekérdezések fülön kattintsunk az Új-ra, majd a Tervező nézetre. Kattintsunk kétszer a Bérlemény, a Tulajdonos és az Ingatlanok táblára (153. Ábra), majd zárjuk be a tábla hozzáadása ablakot.
153.
Ábra
154.
Ábra
A QBE rácson készítsünk egy számított mezőt, amelyben megjelenik a tulajdonos vezetékneve és keresztneve. Erre azért van szükség, hogy a lekérdezésben a tulajdonosok nevei helyesen jelenjenek meg. A mező létrehozásához kattintsuk a jobb egér-
gombbal az első oszlop első cellájára és a megjelenő gyorsmenüben válasszuk ki a Nagyítás lehetőséget (154. Ábra). Írjuk be: név: [vezetéknév] & " " & [keresztnév] Az Ok-val zárjuk be a Nagyítás ablakot. (155. Ábra) Kattintsunk kétszer az Ingatlanok tábla Megnevezés és a Bérlemény tábla Irányár mezőjére. Ezzel minden szükséges adat felkerült a QBE rácsra.
155. Ábra Futtassuk a lekérdezést. A futtatás eredménye nem kielégítő számunkra, mert nehezen lehet kideríteni belőle, hogy ki, milyen ingatlant ad bérbe, és összesen mennyi bérleti díjat kér értük. Zárjuk be a lekérdezést, adjuk neki a Segéd-kereszthez nevet. A Lekérdezés fülön ismét kattintsunk az Újra, majd a Kereszttáblás lekérdezés Varázslóra (156. Ábra). A következő ablakban a Megjelenítések közül válasszuk a Lekérdezéseket, és a már kész lekérdezések közül a Segédkereszthez lekérdezést (157. Ábra).
156.
Ábra
157.
Ábra
A Tovább gombra kattintás után Sorfejlécként a Név mezőt (158. Ábra) jelöljük ki, majd az ezt követő ablakban Oszlopfejlécként a Megnevezést hagyjuk kijelölve. Az oszlopok és sorok metszéspontjaiban számított mező az Irányár legyen Sum függvényt alkalmazva (159. Ábra). Ezt követően adjunk nevet a lekérdezésnek, a neve legyen Kereszttábla, jelöljük ki
a Lekérdezés megtekintését és kattintsunk a Befejezés gombra. A Név melletti oszlopban összesítve látjuk az irányárakat, a nevek a sorokban, az ingatlan megnevezések az oszlopokban láthatók (160. Ábra).
158. Ábra
159. Ábra
160. Ábra
Függvények A lekérdezések során többször is igény merül fel arra, hogy egy-egy felmerült problémát mennyivel könnyebb lenne függvényekkel megoldani úgy, mint ahogyan azt az Excelben már megszoktuk. Az Access-be ezeket is beépítették. Felsorolunk néhány hasznos függvényt, ötleteket adva ezzel is a további lekérdezésekhez. függvény jelentése
példa
IIF
Megadja egy feltétel vizsgálata után, hogy mi történjen, ha igaz, és mi történjen, ha nem igaz.
IIF(irányár<5000000; "olcsó";"drága")
DATE()
A rendszerdátumot állítja elő.
Date()
YEAR
Megadja, hogy az argumentumba lévő dátum melyik évre esik.
YEAR(dátum)
MONTH
Megadja, hogy az argumentumba lévő dátum melyik hónapra esik.
MONTH(dátum)
függvény
jelentése
példa
DAY
Megadja, hogy az argumentumba lévő dátum melyik napra esik.
DAY(dátum)
LEFT
A szöveg mezőben talált szöveg balról kezdődő első szám számú karakterét adja vissza.
LEFT(szöveg;szám)
RIGHT
Hasonló, mint az előző, csak jobbról kezdődik a számolás.
RIGHT(szöveg;szám)
MID
Hely argumentum által megadott MID(szöveg;hely;szám) karaktertől szám számú karaktert ad vissza.
VAL
A szöveg típusú adatot számmá alakítja át.
VAL(szöveg)
&
Az összefűzés operátora
[vnév] & " "& [knev]
Jelentések, adatcsere, SQL Kész adatbázisunkkal még további terveink lehetnek. Napi munkánk során többször is felmerül az igény jelentések készítésére, Windows alkalmazások közötti adatcserére, az adatbázis folyamatos karbantartására. Könyvünk ezen része ezekhez a feladatokhoz kíván segítséget nyújtani. Ahhoz, hogy adataink a legelőnyösebb formába jelenjenek meg nyomtatáskor, használni kell a Jelentéseket. A jelentésekkel az adatbázisban található valamennyi adat kinyomtatható, de lehetőség van a szelektív adatok megjelenítésére és nyomtatóra küldésére is. A kész jelentést importálhatjuk más alkalmazásokba, ezzel is kiszélesítve az adatok megjelenítésének a lehetőségeit. Az SQL nyelv ismerete megkönnyíti az adatkarbantartást, lekérdezéseink pontosabbak, gyorsabbak lehetnek.
Lecke Bérelhető ingatlanok jelentés Készítsünk egy jelentést a bérelhető ingatlanokról a tulajdonos vezetékneve alapján csoportosítva. Nyissuk meg a Biztosan nyerő adatbázisunkat. Álljunk a Jelentések objektumoknál, és kattintsunk az új parancsgombra. (161. Ábra) A következő ablakban válasszuk a Jelentés Varázslót és a Bérlemény táblát. (162. Ábra)
161. Ábra
162. Ábra Az első lépésben vegyük fel a Kijelölt mezők közé azokat a mezőket, amelyeket a Jelentésben szerepeltetni akarunk. (BKód, Cím, Emelet, Ajtó, Irányár, majd a Tablák/Lekérdezések közül az Ingatlanok táblából a Megnevezés, a Tulajdonos táblából a Vezetéknév és Keresztnév kerül a kijelölt mezők közé. (163. Ábra)
163. Ábra
A következő lépésben az adatok megjelenését úgy állítsuk be, hogy előre kerüljön a vezetéknév és keresztnév. (164. Ábra) A következő ablakban a vezetéknév szerint legyen megadva a csoportszint (165. Ábra), ezt követően mindenki saját ízlése szerint válasszon elrendezést, stílust, végül a jelentés címének adja a bérelhető ingatlanok nevet. A végeredményt láthatjuk a 166. Ábrán.
164. Ábra
165. Ábra
166. Ábra Láthatjuk, hogy a jelentés még nem tökéletes, hiszen a mezők vagy nagyon távol vannak egymástól, vagy nem férnek el a megadott területen, és hiányosan látszanak. Ezen a problémán tervező nézetben tudunk segíteni. Az egyes mezőket helyezzük el úgy egymás mellett, hogy minden adat jól látszódjon. (167. Ábra)
167. Ábra A nyomtatás előtt célszerű még beállítani a jelentés papírméretét, tájolását és margóit. Ezért válasszuk ki a Fájl/Oldalbeállítás menüpontot és a megjelenő párbeszédablakban végezzük el a szükséges beállításokat.
Lecke Adatok importálása Az importálás azt jelenti, hogy adatokat veszünk át egy másik adatbázisból, vagy másik Office alkalmazásból. Az importálás során a megnyitott táblánál kiválasszuk a Fájl/Külső adatok átvétele/Importálás menüpontot. (168. Ábra) Kikeressük az importálni kívánt adatbázist (169. Ábra), majd az Objektum importálása ablakban kiválasztjuk az importálni kívánt objektumokat. (170. Ábra) Az ábrán jól látható, hogy nemcsak táblákat, hanem bármilyen más objektumot is beimportálhatunk
168. Ábra
adatbázisunkba. Most lépjünk ki az Objektum importálása ablakból a Mégse gombbal.
169. Ábra
170. Ábra Amennyiben más alkalmazásból szeretnénk adatokat importálni, akkor a Fájl/Külső adatok átvétele/Importálás menüpont kiválasztását követően megjelenő ablakban más fájltípust kell megadni, és a megfelelő alkalmazást kiválasztani. (171. Ábra)
171. Ábra A fentiek szerinti importálásnál az adatok teljes egészében bekerülnek az adatbázisba, míg csatolásnál csak a kapcsolat jön létre a másik adatbázissal, vagy alkalmazással.
Exportálás Az exportálás azt jelenti, hogy adatokat küldünk egy másik alkalmazásnak. Adatokat küldhetünk egy másik Access adatbázisba is, ilyenkor minden exportálható, míg más alkalmazásokhoz csak a táblákat és lekérdezéseket küldhetjük el. Exportálásnál kijelöljük a kívánt táblát, lekérdezést, űrlapot, vagy jelentést és az Eszköztárton az Office csatolásra kattintunk. (172. Ábra)
172. Ábra
Word körlevélfájl készítése Bár a MS Word szövegszerkesztő is rendelkezésünkre bocsát egy körlevélkészítő szolgáltatást, ennek segítségével egy szöveges dokumentumot különböző címekre elküldhetünk. A körlevelünk adatforrása Access adatbázisban lévő adat is lehet, így egyesíteni tudjuk az Access adatkarbantartó előnyeit az MS Word szövegszerkesztő funkcióival. Jelöljük ki a táblák közül a Tulajdonos táblát és indítsuk el az adatok exportálását egy körlevélbe (173. Ábra). Ha nincs még kész a körlevélhez szükséges dokumentumunk, akkor válaszszuk az Új dokumentum létrehozása és az adatok csatolása lehetőséget (174. Ábra).
173. Ábra
174.
Ábra
Elindul a Word, már csak a levelet kell megírni és beszúrni a mezőket a Tulajdonos táblából (175. Ábra).
175.
Ábra
Lecke SQL Az adatbázis-kezelők elterjedésével szükség lett egy olyan szabványosított lekérdezési nyelv kifejlesztésére, amely lehetővé tette az adatbázis műveletek végrehajtását a különböző adatbázis-kezelő rendszerekben. Az összetettebb lekérdezések tervezéséhez néha nélkülözhetetlen, hogy a QBE rács Feltétel sorába írjunk SQL parancsot. Azt is tartsuk azonban szem előtt, hogy az SQL nem tartalmaz vezérlő utasításokat, ezért programírásra nem való. Valamennyi megnyitott lekérdezés megtekinthető SQL nézetben, ha kiadjuk a Nézet/SQL nézet parancsot. Próbáljuk ki valamelyik korábban készített lekérdezéssel! (176. Ábra)
176. Ábra
Ha mi magunk szeretnénk SQL parancsokkal lekérdezést készíteni a QBE rács használata nélkül, akkor kérjünk egy Új lekérdezést, Tervező nézetben, tábla hozzáadása nélkül. Váltsunk át SQL nézetbe. Egy új ablakba kerülünk, ahol szerkeszthetjük SQL parancsainkat. (177. Ábra)
177. Ábra Az SQL utasítások mindig kulcsszóval kezdődnek, megfelelő paraméterekkel folytatódnak és záradékokkal zárulnak. A parancsok végén ajánlott a pontosvessző használata. A 177. és 178. Ábrán is láthatjuk, hogy a parancsot a SELECT kulcsszó vezeti be, amelyet egy nem kötelező Szűkítő követhet. Szűkítők ALL hatására a lekérdezés eredményeként minden olyan rekord megjelenik, amely eleget tesz a megszabott feltételeknek. DISTINCT hatására az egyforma sorok közül csak az egyik jelenítődik meg. DISTINCTROW hatására nem jelenik meg többször az olyan rekord, amely egy másik rekorddal teljesen azonos. TOP hatására annyi rekord jelenik meg a lekérdezés eredményeként, amekkora számot írtunk a TOP után. Ezzel a szűkítővel lehet például a 3 legdrágább ingatlant kikeresni. (178.
Ábra) A TOP nem tesz különbséget két egyenlő érték között. Ha két egyformán magas irányárral találkozik, akkor már egy sorral több lesz az eredményben. Lehetőség van százalékos értékek kimutatására is. Ha a TOP szám után beírjuk a PERCENT szót, akkor az adathalmaz elejéről, vagy végéről annyi százalékát kapjuk a rekordoknak, amekkora értéket a PERCENT szó elé írtunk.
178. Ábra A szűkítő után a lekérdezésben megjelenített táblák és mezők felsorolása következik. (* hatására valamennyi mező, a Táblanév.* hatására a tábla valamennyi mezője rész vesz a lekérdezésben). Az AS kulcsszó után kell írni azt az oszlopnevet, amelyet szeretnénk a mezőnév helyett a lekérdezés fejlécében látni. A mezőnevek után új sorba a FROM kulcsszóval felsoroljuk a lekérdezésben használt táblák neveit, vesszővel elválasztva egymástól. Ha a tábla egy másik adatbázisban található, akkor a tábla neve után meg kell adni idézőjelek között az adatbázis elérési helyét és nevét. Például a vizsga könyvtárban található adatok.mdb adatbázis járművek tábláját a következők szerint
kell megadni: FROM JÁRMŰVEK IN "C:
\VIZSGA\ADATOK.MDB" Záradékok WHERE után a feltételeket soroljuk fel. Például WHERE Irányár > 10000000. ORDEY BY záradék a rendezettséget biztosítja. Csökkenő rendezés esetén adjuk meg a mezőnév után a DESC kulcsszót. A záradék után függvényeket is bekérhetünk. Például ORDEY BY AVG(Irányár) DESC. HAVING parancsot akkor használjuk, ha a csoportosításban megjelenő rekordokra még feltételeket is szabunk. Fontosabb függvények SUM - összeadja a megadott mezőben lévő értékeket. (179. Ábra) MIN, MAX - a legkisebb, illetve a legnagyobb értéket adják meg. AVG - számtani átlagot számol. COUNT - rekordok számát adja vissza.
179. Ábra
Több táblás lekérdezés esetén meg kell adni azt is, hogy a táblák melyik mezőkön keresztül kapcsolódnak egymáshoz. Amint a 180. Ábrán látjuk a kapcsolómezőket egyenlőségjellel kapcsoljuk össze, több kapcsolat esetén használjuk még az AND operátort is. Ha a 181. Ábrán látható lekérdezést a QBE rácson tervezzük meg, akkor látható, hogy a rendszer más szintaktikával dolgozik. A rendszer automatikusan az INNER JOIN műveletet használja, amely összekapcsolja a megadott mezőket.
180. Ábra
181. Ábra
UPDATE - ezzel az utasítással egy tábla adott mezőinek érté-
keit módosítjuk. Az UPDATE [szűkítő] után a módosítani kívánt tábla vagy táblák nevét adjuk meg, ezt követ egy SET, majd a következő sorban leírjuk azt a képletet, amely alapján a módosítást el kell végezni. SELECT INTO - ezzel az utasítással egy táblakészítő lekérdezést hozunk létre. A SELECT [szűkítő] utasítás után meg kell adni azokat a mezőket, amelyek tartalmát át akarjuk írni egy új táblába, ezt követi az INTO utasítás és az új tábla neve. DELETE - ezzel az utasítással egy törlő lekérdezést hozunk létre. A DELETE [szűkítő] után a törölni kívánt tábla neve kerül FROM utasítással bevezetve, majd a WHERE mögött a törölni kívánt rekordokra vonatkozó feltételek állnak. INSERT INTO - ezzel az utasítással már létező táblához fűzünk új rekordokat. Az INSERT INTO utasítást követi annak a táblának a neve. amelyikhez a rekordokat szeretnénk fűzni, majd a SELECT [szűkítő] után a mezőnevet, FROM után a táblakapcsolatokat, WHERE után a feltételeket adjuk meg. Ezzel befejeztük az SQL nyelv bemutatását. Ahhoz, hogy megismerjük részletesebben, ajánlott az, hogy akár a QBE rácson, akár varázslóval elkészített lekérdezéseinket tekintsük meg minél többször SQL nézetben és próbáljuk meg értelmezni az ott látottakat. Az SQL nyelv bemutatásával könyvünk végére értünk, bízunk benne, hogy sikerült megszerettetni és megértetni azACCESS alatti adatbázis-kezelés folyamatát, a további munkához, az új feladatokhoz is sok sikert kívánunk.