Lekérdezések 2

Lekérdezések fajtái:

  • Választó lekérdezés 1
  • "Választó lekérdezés"-sel gyűjthetjük ki a megadott feltételeknek megfelelő adatokat, akár több táblából is.
    Például a "Tervezőrács és feltétel(ek)"-nél szereplő mindegyik mintapélda ilyen.

  • Akciós lekérdezések
    • Táblakészítő lekérdezés 2
    • Hasonló a "Választó lekérdezés"-hez, a különbség csupán annyi, hogy a lekérdezés eredménye egy valóságosan is létrejövő új adattábla.
      Például készíthetünk - az iskolai nyilvántartást felhasználva - egy új táblát a végzettekről (akiknél az "évfolyam" mező értéke 12).

    • Frissítő lekérdezés 3
    • Az adattáblák egy-egy mezőjének adatait módosíthatjuk egy jól körülírható szabály (képlet) alapján.
      Például növeljük eggyel az iskolai nyilvántartásban az "évfolyam" mező értékét, feltéve hogy a "bukott" mező tartalma hamis.

    • Törlő lekérdezés 4
    • Segítségével a rekordok egy jól körülhatárolt részét törölhetjük az adattáblából vagy adattáblákból.
      Például törölhetjük az iskolai nyilvántartásból azokat a diákokat, akiknél az "évfolyam" mező értéke 12 (végzetttek).

    • Hozzáfűző lekérdezés 5
    • Ez a "Táblakészítő lekérdezés" ikertestvére. Egy létező adattábla rekordjainak száma bővíthető a lekérdezés eredménysoraival.
      Például vegyük hozzá az iskolai nyilvántartáshoz az egyik általános iskola 6. osztályának tanulóit.

  • Kereszttáblás lekérdezés 6
  • E lekérdezés segítségével az eredeti adatforrásaink értékei szerinti kigyűjtés (statisztika) készíthető.
    Például az iskolai nyilvántartásból összesíthetjük a diákok létszámát vagy átlagát lakóhely vagy osztály szerint.

  • Paraméteres lekérdezés
  • Ez a lekérdezés nem új típus, hanem a fenti lekérdezések mindegyikénél alkalmazható. Segítségével rugalmassá tehetők a lekérdezések, hiszen utólag adható meg a lekérdezés valamely értéke/paramétere.

    A "Mező:" sorába írjuk be a változó nevét (itt KNev), s utána a kettőspont után szögletes zárójelbe tetszőleges szöveget (itt [Mi a keresett keresztnév: ]), ez fog megjelenni a "paraméterablakban" a beviteli mező fölött. Az ide begépelt szöveg lehet a teljes keresett keresztnév, vagy csak egy része joker karakterekkel (?,*).

    Például az iskolai nyilvántartást felhasználva írjuk ki a "H"-val vagy bármely betűvel kezdődő keresztnevű diákok neveit - ez egyszerű választó lekérdezés, de ha tetszőleges kezdőbetűjű diákok névsorát írjuk ki - ez már "paraméteres lekérdezés", indítása után kéri be a kezdőbetűt. (A kapott lista: Harmadik Helga, Hatodik Hedvig, Hetedik Hilda; KNev = "?i*" esetén: Második Miklós, Hetedik Hilda).
     

  • Azonosakat kereső lekérdezés
  • Nem egyezőket kereső lekérdezés

Választó lekérdezés

Amikor megnyitjuk a lekérdezést Tervező nézetben, illetve az űrlapon, a jelentésben vagy az adatlapon megjelenítjük az Irányított szűrés/rendezés ablakot, a lekérdezőrácsot kapjuk, amelyen a kívánt lekérdezési eredmények érdekében különféle műveleteket hajthatunk végre.

  1. Táblák, lekérdezések, mezők felvétele vagy eltávolítása
  2. Rekordok rendezése
  3. Az eredmények szűkítése feltételek megadásával
  4. Összegek számítása

Ha lenyitjuk az "Összes" feliratú lehullómenüt, és a 25%-ot választjuk, a következő SQL parancsot láthatjuk:
SELECT TOP 25 PERCENT TANEV, TAOSZT1, TAOSZT2 FROM teszt
WHERE (TAOSZT1=7 AND TAOSZT2)="g") OR (TAOSZT1=8 AND TAOSZT2="g")
ORDER BY TANEV, TAOSZT1;
azaz csak a lista 25%-a jelenne meg, a 25 választása esetén a lista első 25 sora látható (az SQL parancs elején "TOP 25" áll).

A rendezésnek az a "szépséghibája", hogy a diákok ugyan névsorban vannak, de a 7.-esek és 8.-osok vegyesen. A helyes megoldás az "ORDER BY TANEV, TAOSZT1" lenne. (A trükk: a lekérdezőrácson kétszer szerepel a "TANEV" mező, elöl látható, de nincs rendezés; hátul nem látható, de rendezve van.)

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

(Vigyázat! A tábla és a lekérdezés neve különböző legyen!)

Frissítő lekérdezés

Törlő lekérdezés

Hozzáfűző lekérdezés

Kereszttáblás lekérdezés

Kereszttáblás lekérdezés varázslóval

Lépései:
Lekérdezések regiszter / Új gomb / Kereszttáblás lekérdezés varázsló / OK gomb
adatforrás / sorfejléc mező / oszlopfejléc mező / értékadó mező és az alkalmazni kívánt függvény választása
végül a lekérdezés nevét kell megadni.

Tervezőrács segítségével (Befizetésekösszege_lakcímenként_osztályonként)

A tervezőrácsra három mezőt húzunk:
     a sorfejléc, az oszlopfejléc és a leendő érték mezejét.
A "Kereszttábla:" sorban ezeket gondosan beállítjuk:
     "Sorfejléc", "Oszlopfejléc", "Érték".
Az "Összesítés:" sorban az "Érték" oszlopában kiválasztjuk a megfelelő függvényt:
     Sum, Avg, Min, Max, Count, SDev, Var, First, Last, ...

A lekérdezésnek megfelelő SQL parancs:
TRANSFORM Sum(dbefiz) AS SumOfdbefiz
     SELECT dcím
     FROM Diakok
     GROUP BY dcím
PIVOT doszt;

Paraméteres lekérdezés

A tervezőrács feltétel sorába nem a mező konkrét értékét írjuk, hanem egy szögletes zárójelbe tett szöveget. Ezt a lekérdezés futtatáskor kiírja a képernyőre és bekéri a mező értékét (paraméter), majd listázza a megfelelő rekordokat.
 
A szögletes zárójelbe tett szöveg nem tartalmazhat pontot, felkiáltójelet, szögletes zárójelet, de nem lehet létező mezőnév sem.

A lekérdezésnek megfelelő SQL parancs:
SELECT dnév, doszt, dcím
     FROM Diakok
     WHERE dcím=[A diák lakhelye ];

Az adattábla, a lekérdezés, az űrlap és a jelentés összehasonlítása

AdattáblaLekérdezésŰrlapJelentés
A rekordokban lévő adatok módosíthatók, a táblához új rekord adható, illetve rekord is törölhetőAz adatok nem módosíthatók
Csak egyetlen adattáblában lévő mezők módosíthatókTöbb adattáblában lévő mezők módosíthatók, ha a mezőket felvesszükAz adatok nem módosíthatók
Az információk általában csak a képernyőn jelennek megAz adatokat szépen ki is lehet nyomtatni
Több rekord is látható (ez néha zavaró)Általában csak az aktuális rekord láthatóÁltalában több rekord is látható, s valamilyen összegzés
Csak az adattáblában lévő mezők szerepelhetnekSzámított mezők is megjeleníthetők mindhárom objektumnál
Kevés párbeszédelem áll rendelkezésre (pl. beviteli mező, jelölő- négyzet, legördülő lista)A Windows összes grafikus párbeszédeleme alkalmazható
Az adatok megjelenítéséhez szemléletes grafikus eszközök nem állnak rendelkezésreAz adatokat akár diagramban ábrázolva is megjeleníthetjük

Tervezőrács, lekérdezés,
eddig még nem
kell túl sok ész.
(burcsi)