Lekérdezések

A lekérdezések segítségével egy vagy több tábla vagy lekérdezés rekordjaiból az előre meghatározott kritériumoknak eleget tevő részhalmazt tudjuk megjeleníteni. A lekérdezés alapjául szolgáló táblákat és lekérdezéseket összefoglaló nevükön rekordforrásnak nevezzük.

A lekérdezések első pillantásra az Irányított szűrőre hasonlítanak, hiszen az Irányított szűrő a lekérdezés egy korlátozott tudású változata. A lekérdezések és az Irányított szűrő közötti legfontosabb különbségeket az alábbi táblázatban foglaltuk össze. A táblázat középső oszlopában a lehetőségek egyezését jelöltük. Az eltérést, egyezést , a részleges egyezést pedig  jelöli.

Lekérdezés   Irányított szűrő
Egy lekérdezés alapja, azaz a rekordforrás lehet egy vagy több tábla vagy lekérdezés.

 

A szűrés egy táblán vagy egy lekérdezésen hajtható végre.
Lehetőséget ad az adatok sorba rendezésére.

 

Lehetőséget ad az adatok sorba rendezésére.
Lehetőség van a tábla csak egyes mezőinek tartalmát megjeleníteni.

 

Mindig minden mező tartalma megjelenik.
Lehetőség van a rekordok csoportosítására, illetve a csoportosítás alapján történő számításokra.

 

Nincs lehetőség a rekordok csoportosítására.
Tartalmazhat számított mezőt.

 

Nem tartalmazhat számított mezőt.
Bekérhet adatokat a felhasználótól és azokat felhasználhatja a szűrőfeltételekben, a számított mezőkben, illetve a rekordok módosítására.

 

Bekérhet adatokat a felhasználótól, de azokat csak a szűrőfeltételekben használhatja fel. E funkció használata általában szükségtelen.
Módosíthatja egy tábla vagy az adatbázis tartalmát.

 

Nem módosíthatja a táblák vagy az adatbázis tartalmát.
Általában elmentjük a későbbi felhasználás céljából.

 

Általában nem kerül mentésre. Lekérdezésként elmenthető, de ebben az esetben a továbbiakban lekérdezésként kezelhetjük.

Az Irányított szűrő elsősorban az alkalmi szűrések esetén lehet hasznos, míg a lekérdezések különösen a rendszeresen ismétlődő szűrések, adatfrissítések végrehajtásánál hasznosak. A lekérdezések alapjául más lekérdezések eredményei is felhasználhatók.

LEKÉRDEZÉS NÉZETEI

Lekérdezéseinket háromféle nézetben tekinthetjük meg.

A Tervező nézetben készítjük el a lekérdezés tervét. A lekérdezés ilyenkor két részből áll, a felső részen a lekérdezés által használt táblák és lekérdezések mezőit és kapcsolatait látjuk. Az elsődleges kulcs mező vastagon szedve jelenik meg. Az alsó részen a lekérdezésekben szereplő mezőket, valamint a mezőkre vonatkozó rendezési módot, csoportosítási szempontokat és szűrő feltételeket vehetjük fel.

Az Adatlap nézetben megtekinthetjük vagy – egyes esetekben – módosíthatjuk is a lekérdezés eredményeként kapott adatokat.

Tekintsük át azokat a leggyakoribb eseteket, amikor a rekordok nem, vagy csak korlátozottan módosíthatók:

                      A lekérdezés egy-a-többhöz kapcsolatú rekordforrásokra épül,

          a lekérdezés számított mezőt tartalmaz,

          a lekérdezés írásvédett mezőket vagy más felhasználó által zárolt rekordokat tartalmaz,

          a lekérdezés egy kereszttáblás lekérdezés,

          nem rendelkezünk a megfelelő jogosultsággal.

Az SQL nézetben a tervező nézetben elkészített lekérdezést SQL kifejezésként tekinthetjük meg. SQL nyelvben jártas felhasználók ebben a nézetben módosíthatják a már korábban elkészített lekérdezéseiket, illetve újakat hozhatnak létre.

A megfelelő nézetet a Nézet menü, vagy a Lekérdezés tervezés eszköztár Nézet legördülő listájának segítségével állíthatjuk be.

LEKÉRDEZÉS TÍPUSAI

Az Access-ben a következő lekérdezés típusokat különböztetjük meg:

·         Választó lekérdezés

·         Akció lekérdezés

o        Táblakészítő lekérdezés

o        Frissítő lekérdezés

o        Törlő lekérdezés

o        Hozzáfűző lekérdezés

·         Kereszttáblás lekérdezés

·         Paraméteres lekérdezés, amely a fentiek közül bármelyik típusú lehet

VÁLASZTÓ LEKÉRDEZÉS

A választó lekérdezés egy vagy több rekordforrásból származó adatokat jelenít meg. A választó lekérdezések a táblák illetve az adatbázis tartalmát nem változtatják meg, a felhasználók azonban – bizonyos korlátok között – módosíthatják a lekérdezés eredményeként kapott rekordokat.

Új lekérdezés létrehozásához álljunk az adatbázis-ablak Lekérdezés objektum elemére.

Adjuk ki a Beszúrás menü Lekérdezés parancsát, vagy kattintsunk az adatbázis-ablak Új gombjára. A megjelenő Új lekérdezés panelen válasszuk a Tervező nézet listaelemet, majd kattintsunk az OK gombra.

A Tábla megjelenítése panelen válasszuk ki a lekérdezésben megjelenítendő objektumokat.

A lekérdezés készülhet táblából, lekérdezésből, esetleg mindkettőből egyszerre. Több objektum kijelölését a CTRL gomb segítségével kezdeményezhetjük. A kijelölt objektumokat a Hozzáadás gombbal adjuk hozzá a lekérdezéshez.

A panelt az objektumok felvétele után a Bezárás gombbal zárjuk be. A felvett rekordforrások az ablak felső részén jelennek meg.

Amennyiben a szükségesnél több rekordforrást vettünk fel, a feleslegeseket kijelölés után a Szerkesztés menü Törlés parancsával vagy a billentyűzet DELETE billentyűjével törölhetjük.

Abban az esetben, ha további rekordforrásokra lenne szükségünk a lekérdezéshez, használjuk a Lekérdezés menü Tábla megjelenítése parancsát, a helyi menü Tábla hozzáadása parancsát vagy a Lekérdezés tervezés eszköztár Tábla megjelenítése gombját. A megjelenő Tábla hozzáadása panelen jelöljük ki és vegyük fel a szükséges rekordforrásokat.

A lekérdezésben használni kívánt mezőket az ablak alsó részén látható tervezőrácsba kell felvennünk.

Mezőt úgy vehetünk fel a tervezőrácsba, ha kettőt kattintunk a rekordforrásban a mezőre, vagy Fogd és vidd módszerrel áthúzzuk a szükséges mezőt a rácsba, esetleg a tervezőrács Mező sorának legördülő listájában kiválasztjuk a mezőt. Több mezőt egyszerre a CTRL és SHIFT billentyűk segítségével jelölhetünk ki.

A mező felvételekor a Tábla sor automatikusan kitöltődik.

Ha a Tábla sor nem látszik a képernyőn, megjelenítéséhez kattintsunk a Nézet menü Táblanevek parancsára.

A mező tervezőrácsból való törléshez jelöljük ki a mezőt a felette lévő szürke kijelölő sávra kattintva, majd használjuk a Szerkesztés menü Oszlopok törlése parancsát vagy a billentyűzet DELETE gombját.

A tervezőrács Rendezés sorában a kiválasztott mező szerinti rendezést adhatunk meg. A mező rendezése lehet növekvő vagy csökkenő.

Amennyiben több mezőre állítunk be rendezést, a program a rekordok rendezésénél a tervezőrácsban való elhelyezkedésüket veszi figyelembe balról jobbra haladva. Tehát az Access először a bal oldali oszlop tartalmát rendezi sorba, majd – ha ez az oszlop ismétlődő értékeket tartalmaz – az érintett rekordok sorrendjét a következő oszlop tartalma alapján dönti el. Ha a második oszlop is tartalmaz ismétlődő értékeket, az program tovább lép a következő oszlopra, és így tovább.

A tervezőrács Feltétel sorában adjuk meg a rekordok megjelenítési feltételeit. Itt a szűrésekhez hasonló módon szerkeszthetjük meg feltételeinket.

Alaphelyzetben minden, a tervezőrácsba felvett mező megjelenik a lekérdezés Adatlap nézetében.

Amennyiben egy mezőt csak feltétel megadásához szeretnénk felhasználni, kapcsoljuk ki a tervezőrács Megjelenítés sorában a mezőhöz tartozó jelölőnégyzetet.

Az egy sorban levő feltételek között ÉS kapcsolat van, tehát ezeknek egyszerre kell teljesülniük, a sorok kritériumai között pedig VAGY kapcsolat van, azaz elegendő, ha bármely sor minden megadott feltétele teljesül.. Az alábbi példában Kis Sándor Benedek 1980-ban, vagy az előtt, illetve Györgyi Krisztián 2000-ben, vagy azt követően kiadott műveit jelenítjük meg.

ÉS illetve VAGY kapcsolatban lévő feltételeket egyetlen rovatba is begépelhetünk az AND illetve az OR logikai operátorok használatával.

A használható logikai operátorok a következők:

Logikai operátorok Jelentése
AND és
OR vagy
NOT tagadás

Az alábbi feltétellel az 1997 és 2001 között megjelent könyvek listáját jeleníthetjük meg.

A feltételek megadásakor az alább felsorolt relációjeleket használhatjuk:

Relációjelek Jelentése
kisebb
nagyobb
= egyenlő
<= kisebb vagy egyenlő
>= nagyobb vagy egyenlő
<>  nem egyenlő

A felsorolt relációjeleken kívül használhatjuk az alábbi operátorokat is:

Operátor Leírás
Like "minta" A like operátor segítségével a – helyettesítő jeleket tartalmazó – minta szövegnek megfelelő szöveges adatokat kereshetünk.
Between … and … Az operátor segítségével megjeleníthetjük két szám vagy két dátum közötti értékeket.
In(…) Megjeleníti a zárójelben felsorolt kritériumoknak megfelelő rekordokat. A felsorolt elemeket pontosvesszővel választjuk el egymástól. Az operátort, akkor használjuk, ha több OR (vagy) feltételt szeretnénk megadni.
Is Null Megjeleníti azokat a rekordokat, ahol a feltételt tartalmazó mező nincs kitöltve.
Is Not Null Megjeleníti azokat a rekordokat, ahol a feltételt tartalmazó mező ki van töltve.
""
(két, egymást követő idézőjel)
Megjeleníti azokat a rekordokat, ahol a feltételt tartalmazó mezőben nulla hosszúságú karakterláncot tárolunk. (A nulla hosszúságú karakterlánc nem egyenlő a kitöltetlen mezőben tárolt Null értékkel.)
TRUE, IGAZ, BE Logikai típusú adatnál az IGAZ vagy bekapcsolt állapot.
FALSE, HAMIS, KI Logikai típusú adatnál a HAMIS vagy kikapcsolt állapot.

A LIKE operátor alkalmazásakor a mintában az alábbi helyettesítő karakterek használhatók:

Helyettesítő karakter Funkciója Példa
* Tetszőleges számú karaktert helyettesít, és a karakterláncban bárhol használható. LIKE "Szabó*"
? Egyetlen tetszőleges karaktert helyettesít. LIKE "sz?l"
# Egyetlen tetszőleges számjegyet helyettesít. LIKE "#. emelet"
[karakterek] A szögletes zárójelek között levő karakterek közül bármelyiket helyettesíti. LIKE "sz[éáó]l"
[!karakterek] Bármely, a szögletes zárójelek között nem szereplő karakter helyettesít. LIKE "f[!aü]l"
[karakter1-karakter2] A karaktr1-től karakter2-ig terjedő tartományban levő bármely karaktert helyettesít. LIKE "[1-5]. emelet"
[*], [?], [#], [[] A * csillag, ? kérdőjel, # kettőskereszt, illetve [ nyitó szögletes zárójel karakterek jelölésére szolgál. Abban az esetben használjuk, ha a LIKE operátorral megadott mintában magát a csillag, kérdőjel, kettőskereszt vagy nyitó szögletes zárójelet szeretnénk keresni. LIKE ″*mikor[?]″

 

Az alábbiakban a három leggyakrabban használt operátor, a LIKE, a BETWEEN és az IN használatára mutatunk be példákat.

Az alábbi lekérdezés segítségével Merle összes, az adatbázisban található könyvét listázhatjuk ki.

A következő példában a BETWEEN operátor használatával az 1998 és 2000 között kiadott műveket keressük ki. Mint láthatjuk, a BETWEEN 1998 AND 2000 feltétel lényegében a >=1998 AND <=2000 feltételt helyettesíti.

Az alábbi példában az 1983, 1995 illetve 2001-ben kiadott könyvek listáját jelenítjük meg. Figyeljük meg, hogy a példában szereplő IN (1983;1995;2001) feltétel az 1983 OR 1995 OR 2001 feltételnek felel meg.

Végezetül lássunk egy összetettebb lekérdezést. Ennek segítségével kilistázhatjuk azoknak a pillanatnyilag megrendelhető könyveknek az adatait, melyek 1995-ben vagy azt követően jelentek meg és címükben szerepel a Windows kifejezés, illetve 2000-ben vagy azt követően jelentek meg és a nevükben szerepel a Word kifejezés.

A lekérdezés eredményét a Nézet menü Adatlap nézet parancsával vagy a Lekérdezés tervezés eszköztár Adatlap nézet gombjára kattintva tekinthetjük meg.

Nagyobb adatbázisok, vagy bonyolult lekérdezések esetén előfordulhat, hogy a lekérdezés eredményének előállítása hosszabb időt vesz igénybe. Ha a lekérdezés létrehozása túl sokáig tart, a művelet bármikor megszakítható a CTRL+BREAK billentyűkombinációval.

LEKÉRDEZÉS MENTÉSE

Kész lekérdezésünk mentését a Lekérdezés tervezés eszköztár Mentés gombjával vagy a Fájl menü Mentés parancsával kezdeményezhetjük.

A megjelenő Mentés másként panelen adjuk meg a lekérdezés nevét, majd kattintsunk az OK gombra.

A lekérdezések mentésekor az Access a lekérdezést saját logikájának megfelelően módosítja, optimalizálja – például a lekérdezésben szereplő felesleges mezőket törli – így előfordulhat, hogy a lekérdezés újbóli megnyitásakor a lekérdezésben megadott feltételek nem teljesen az általunk megadott formában vagy elrendezésben jelennek meg. Ez természetesen a lekérdezés eredményét nem befolyásolja.

LEKÉRDEZÉS BEZÁRÁSA

A lekérdezést a Fájl menü Bezárás parancsával vagy a Lekérdezés ablak Bezárás vezérlőgombjával zárhatjuk be. Ha még nem mentettük el a lekérdezést vagy az utolsó mentés óta módosításokat végeztünk benne, a program rákérdez, hogy szeretnénk-e menteni a módosításokat. A módosítások mentéséhez kattintsunk az Igen gombra. A Nem gomb használata esetén a lekérdezést a változások mentése nélkül zárja be a program. A Mégse gombot választva visszatérhetünk a lekérdezés szerkesztéséhez.

Következő leckéhez klikkelje!

Táblakészítő lekérdezés