A választó lekérdezés akkor használható, ha egy vagy több forrásból szeretne meghatározott adatokat lekérdezni. A választó lekérdezések segítségével csak a kívánt adatokat kérdezheti le, és több adatforrásból származó adatokat is kombinálhat. A választó lekérdezés adatforrásai lehetnek táblák és más választó lekérdezések is. Ebben a témakörben bemutatjuk a választó lekérdezéseket, és ismertetjük azokat a lépéseket, amelyekkel választó lekérdezéseket hozhat létre a Lekérdezés varázsló vagy a Tervező nézet használatával.
Ha a Northwind mintaadatbázis használatával szeretne többet megtudni a lekérdezések működéséről, olvassa el a Lekérdezések bemutatása című témakört.
Tartalom
Áttekintés
Adatok használatánál csak kivételes alkalommal van szükség egy tábla összes adatára. Ha például a Névjegyek tábla adatait szeretné használni, általában egy meghatározott rekordra van szüksége, esetenként például csak a telefonszámra. Az is előfordulhat, hogy több táblából származó adatokat szeretne kombinálni, például az Ügyfelek tábla és a Megrendelések tábla adatainak használatával. A használni kívánt adatokat a választó lekérdezéssel kérheti le.
A választó lekérdezés olyan adatbázis-objektum, amely az adatokat Adatlap nézetben jeleníti meg. A lekérdezések nem tárolnak adatokat, csupán megjelenítik a táblákban tároltakat. Egy lekérdezéssel megjeleníthet olyan adatokat, amelyek egy vagy több táblából, más lekérdezésekből vagy ezek kombinációjából származnak.
A lekérdezések előnyei
A lekérdezések az alábbi előnyökkel járnak:
-
Lehetővé teszik, hogy csak a kívánt mezők adatait jelenítse meg. Ha megnyit egy táblát, akkor az összes mező megjelenik. A lekérdezéssel egyszerűen menthetők a kijelölt mezők.
Megjegyzés: A lekérdezés nem tárolja az adatokat, csupán hivatkozik rájuk. A lekérdezés mentésével ezért nem magát az adatot menti.
-
Egyszerre több adatforrásból származó adatokat is megjeleníthet. A táblákban alapvetően csak azok az adatok jeleníthetőek meg, amelyek az adott táblában vannak tárolva. A lekérdezés azonban lehetővé teszi, hogy különféle forrásokból származó adatokat válogasson össze, és azt is meghatározhatja, hogy a megjelenítésnél hogyan legyenek összeállítva ezek az adatok.
-
Kifejezéseket használhat mezőként. Mezőként használhatja például a Date függvényt is, vagy ha azt szeretné meghatározni, hogy milyen formátumban jelenjen meg a lekérdezés eredményében a dátum, akkor az illető mezővel együtt használhatja a Format függvényt.
-
Megjeleníthet csak olyan rekordokat, amelyek megfelelnek az Ön által megadott feltételeknek. Ha megnyit egy táblát, akkor az összes rekord megjelenik. A lekérdezéssel egyszerűen menthetők a kijelölt rekordok.
A választó lekérdezés létrehozásának alapvető lépései
Választó lekérdezést létrehozhat a Lekérdezés varázslóval vagy Tervező nézetben is. A varázsló használatánál egyes tervezési elemek nem érhetőek el, de ezeket később is hozzáadhatja a lekérdezéshez Tervező nézetben. Noha a két módszer kissé eltér egymástól, az alapvető lépések gyakorlatilag ugyanazok lesznek:
-
Válassza ki az adatforrásként használni kívánt táblákat vagy lekérdezéseket.
-
Válassza ki az adatforrások használni kívánt mezőit.
-
Ha szükségesnek tartja, határozzon meg olyan feltételeket, amelyekkel korlátozhatja a lekérdezés eredményeként visszakapott rekordok körét.
Miután létrehozott egy választó lekérdezést, futtassa azt az eredmények megtekintéséhez. Választó lekérdezés futtatásához nyissa meg Adatlap nézetben. Ha menti a lekérdezést, akkor azt később bármikor felhasználhatja például űrlapok, jelentések vagy újabb lekérdezések adatforrásaként.
Választó lekérdezés létrehozása a Lekérdezés varázsló használatával
A Lekérdezés varázsló használatával automatikusan hozhat létre választó lekérdezést. Ha a varázslót használja, csak kisebb mértékben határozhatja meg a lekérdezéstervezés részleteit, a lekérdezés létrehozása azonban így általában gyorsabb. Egy másik előny az, hogy a varázsló használatával feltárhatók az egyszerűbb tervezési hibák, és ilyenkor a varázsló másféle műveletet javasol.
Előzetes tennivalók
Ha egymáshoz nem kapcsolódó adatforrásokból származó mezőket használ, a Lekérdezés varázsló rákérdez, hogy szeretne-e kapcsolatokat is létrehozni. A varázsló ilyenkor megnyitja a Kapcsolatok ablakot, de ha módosítja a kapcsolatokat, akkor újra kell indítania a varázslót. Ezért még a varázsló futtatása előtt célszerű létrehozni a lekérdezéshez szükséges kapcsolatokat.
További információ a táblakapcsolatok létrehozásáról: Útmutató a táblakapcsolatokhoz.
A Lekérdezésvarázsló használata
-
A Létrehozás lap Lekérdezések csoportjában válassza a Lekérdezés varázsló lehetőséget.
-
Az Új lekérdezés párbeszédpanelen válassza az Egyszerű lekérdezés varázsló lehetőséget, majd kattintson az OK gombra.
-
Ezután adjon hozzá mezőket. Legfeljebb 255 mezőt adhat hozzá, forrásként pedig akár 32 táblát vagy lekérdezést is használhat.
Végezze el az alábbi lépéseket minden egyes hozzáadni kívánt mező esetén:
-
A Táblák/lekérdezések területen válassza ki a mezőt tartalmazó táblát vagy lekérdezést.
-
Az Elérhető mezők alatt kattintson duplán a kívánt mezőre, ezzel hozzáadja azt a Kijelölt mezők listához. Ha az összes mezőt hozzá szeretné adni a lekérdezéshez, válassza a gombot a jobbra mutató dupla nyíllal (>>).
-
Miután hozzáadta az összes kívánt mezőt, válassza a Tovább gombot.
-
-
Ha nem adott hozzá számmezőket (numerikus adatokat tartalmazó mezőket), ugorjon előre a 9. lépésre. Ha hozzáadott számmezőket, a varázsló megkérdezi, hogy szeretné-e, hogy a lekérdezés adatokat vagy összegző adatokat ad vissza.
Tegye a következők valamelyikét:
-
Ha egyéni rekordokat szeretne látni, válassza a Részletek, majd a Tovább gombot. Ugorjon előre a 9. lépésre.
-
Ha összegzett numerikus adatokat, például átlagokat szeretne látni, válassza az Összegzés, majd az Összegzési beállítások lehetőséget.
-
-
Az Összesítési beállítások párbeszédpanelen adja meg, hogy mely mezőket szeretné összesíteni, és milyen módon szeretné az értékeket kiszámítani. A kiválasztható lehetőségek között csak a számmezők jelennek meg.
Minden számmezőnél az alábbi függvények közül választhat:
-
Össz A lekérdezés a mező összes értékének összegét adja vissza.
-
Átl A lekérdezés a mező értékeinek átlagát adja vissza.
-
Min A lekérdezés a mező értékei közül a legkisebbet adja vissza.
-
Max A lekérdezés a mező értékei közül a legnagyobbat adja vissza.
-
-
Ha azt szeretné, hogy a lekérdezés eredménye az adatforrás rekordjainak számát is tartalmazza, jelölje be a Rekordszámlálás: adatforrás neve jelölőnégyzetet.
-
Az Összegzés beállításai párbeszédpanel bezárásához kattintson az OK gombra.
-
Ha nem adott hozzá dátum/idő mezőt a lekérdezéshez, ugorjon előre a 9. lépésre. Ha dátum-idő mezőt adott hozzá a lekérdezéshez, a Lekérdezés varázsló megkérdezi, hogyan szeretné csoportosítani a dátumértékeket. Tegyük fel például, hogy hozzáadott egy számmezőt ("Ár") és egy dátum/idő mezőt ("Transaction_Time") a lekérdezéshez, majd megadta az Összegzési beállítások párbeszédpanelen, hogy meg szeretné tekinteni az "Ár" számmező átlagértékét. Mivel tartalmazott egy dátum/idő mezőt, kiszámíthat összegző értékeket minden egyedi dátum/idő értékhez, minden naphoz, minden hónaphoz, negyedévhez vagy minden évhez.
Válassza ki a dátum/idő értékek csoportosításához használni kívánt időszakot, majd kattintson a Tovább gombra.
Megjegyzés: Tervező nézetben kifejezés használatával bármilyen időszakot megadhat a csoportosításhoz, a varázsló azonban csak ezeket a lehetőségeket ajánlja fel.
-
A varázsló utolsó lapján adjon címet a lekérdezésnek, adja meg, hogy meg szeretné-e nyitni vagy módosítani a lekérdezést, majd kattintson a Befejezés gombra.
Ha a lekérdezés megnyitását választotta, akkor a kiválasztott adatok Adatlap nézetben jelennek meg. Ha azt választotta, hogy módosítani szeretné a lekérdezést, akkor a lekérdezés Tervező nézetben nyílik meg.
Lekérdezés létrehozása Tervező nézetben
Tervező nézetben manuálisan hozhat létre választó lekérdezést. Tervező nézet használata esetén jobban szabályozhatja a lekérdezésterv részleteit, de egyszerűbb a tervezési hibák elkövetése, és hosszabb időt is igénybe vehet, mint a varázsló használata.
Lekérdezés létrehozása
1. lépés: Adatforrások hozzáadása
Ha Tervező nézetet használ, adatforrások hozzáadásához külön lépésekben adja hozzá az adatforrásokat és a mezőket. Később azonban szükség szerint újabb adatforrások is hozzáadhatók.
-
A Létrehozás lap Lekérdezések csoportjában válassza a Lekérdezéstervező lehetőséget.
-
Kattintson duplán a használni kívánt adatforrásra, vagy jelölje ki az egyes adatforrásokat, majd válassza a Hozzáadás lehetőséget.
Automatikus illesztés
Ha az adatforrások hozzáadásánál a források között már léteznek kapcsolatok, akkor ezek a kapcsolatok automatikusan illesztésként lesznek hozzáadva a lekérdezéshez. Az illesztések azt határozzák meg, hogy a kapcsolódó forrásokból származó adatok hogyan legyenek egyesítve. Access automatikusan létrehoz egy illesztés két tábla között, ha a mezők kompatibilis adattípusokkal rendelkeznek, és az egyik mező elsődleges kulcs.
Érdemes lehet módosítani a Access létrehozott illesztéseket. Access meghatározza, hogy milyen típusú illesztés hozható létre az illesztés által képviselt kapcsolat alapján. Ha Access létrehoz egy illesztés, de nincs definiált kapcsolat, Access létrehoz egy belső illesztés.
Ha Access az adatforrások hozzáadásakor automatikusan létrehozza a megfelelő illesztéseket, továbbléphet a 3. lépés: Kimeneti mezők hozzáadása lépésre.
Ugyanazon adatforrás többszöri használata
Bizonyos esetekben ugyanannak a táblának vagy lekérdezésnek két példányát szeretné összekapcsolni önillesztésnek nevezett módon, amely egyesíti az ugyanabból a táblából származó rekordokat, ha az illesztett mezőkben egyező értékek találhatók. Tegyük fel például, hogy van egy Employees (Alkalmazottak) táblája, amelyben az egyes alkalmazottak rekordjainak JelentésekTo mezője a neve helyett a felettese azonosítóját jeleníti meg. Önillesztés használatával megjelenítheti a felettes nevét az egyes alkalmazottak rekordjában.
Amikor másodszor is hozzáad egy adatforrást, Access hozzáfűzi az _1-et a második példány nevéhez. Ha például az Alkalmazottak táblát kétszer adta hozzá, a második példány neve Alkalmazottak_1 lesz.
2. lépés: Kapcsolódó adatforrások illesztése
Ha a lekérdezéshez hozzáadott adatforrások már rendelkeznek kapcsolatokkal, Access automatikusan létrehoz egy belső illesztés minden kapcsolathoz. Ha a hivatkozási integritás kényszerítve van, Access egy "1" karaktert is megjelenít az illesztővonal felett, amely megmutatja, hogy melyik tábla található egy-a-többhöz kapcsolat "egy" oldalán, és egy végtelen szimbólumot (∞), amely azt mutatja, hogy melyik tábla a "több" oldalon található.
Ha lekérdezéseket ad hozzá a lekérdezéshez, és nem hozott létre kapcsolatokat ezek között a lekérdezések között, Access nem hoz létre automatikusan illesztéseket a lekérdezések, illetve a nem kapcsolódó lekérdezések és táblák között. Ha Access nem hoz létre illesztéseket adatforrások hozzáadásakor, általában saját maga vegye fel őket. A lekérdezés eredményeinél problémák jelentkezhetnek, ha a lekérdezésben olyan adatforrások szerepelnek, amelyek egyetlen más adatforrással sincsenek illesztve.
Érdemes lehet módosítani az illesztés típusát belső illesztésről külső illesztésre, hogy a lekérdezés több rekordot tartalmazzon.
Illesztés hozzáadása
-
Illesztés hozzáadásához húzza a kívánt mezőt az egyik adatforrásból a másik adatforrás megfelelő mezőjére.
Access egy vonalat jelenít meg a két mező között, amely azt mutatja, hogy létrejött egy illesztés.
Illesztés módosítása
-
Kattintson duplán a módosítani kívánt illesztésre.
Megjelenik az Illesztési tulajdonságok párbeszédpanel.
-
Tanulmányozza az Illesztési tulajdonságok párbeszédpanel három beállítását.
-
Kattintson a használni kívánt beállításra, majd az OK gombra.
Ha az illesztések elkészültek, kimeneti mezőket kell hozzáadnia. Ezek olyan mezők, amelyek a lekérdezés eredményeként megjelenítendő adatokat tartalmazzák.
3. lépés: Kimeneti mezők hozzáadása
Az 1. lépésben hozzáadott adatforrások bármelyikében szereplő mezők egyszerűen hozzáadhatók.
-
Mezőt úgy adhat hozzá, ha a lekérdezéstervező ablak felső részében látható adatforrásokból a kívánt mezőt az ablak alsó részében található tervezőrács Mező sorába húzza.
Ha így ad hozzá egy mezőt, Access automatikusan kitölti a tervezőrács Tábla sorát, hogy tükrözze a mező adatforrását.
Tipp: Ha a tábla összes mezőjét hozzá szeretné adni a tervezőrács Mező sorához, azt a leggyorsabban úgy teheti meg, ha duplán kattint a tábla vagy a lekérdezés nevére. Ezzel kiválasztja az adott forrás összes mezőjét, így mindegyiket egyszerre húzhatja a tervezőrácsra.
Kifejezés használata kimeneti mezőként
Ha számításokat szeretne végezni, vagy egy függvényt szeretne használni a lekérdezés kimenetének előállításához, használhat kifejezéseket kimeneti mezőként. A kifejezések bármely lekérdezési adatforrásból, valamint függvényekből( például Format vagy InStr) származó adatokat használhatnak, valamint állandókat és számtani operátorokat is tartalmazhatnak.
-
A lekérdezéstervező rács egy üres oszlopában kattintson jobb gombbal a Mező sorra, majd a megjelenő menüben kattintson a Nagyítás lehetőségre.
-
A Nagyítás párbeszédpanelen írja be vagy illessze be a kívánt kifejezést. A kifejezés elején adja meg a kifejezés kimeneteként használni kívánt nevet, a név végére pedig kettőspontot írjon. Például ha a kifejezés neveként az „Utolsó frissítés” nevet szeretné adni, akkor a kifejezést az Utolsó frissítés: szöveggel kell kezdenie.
Megjegyzés: A kifejezéseket nagyon sokrétűen használhatja. A kifejezések részletes ismertetése azonban túlmutat ennek a témakörnek a keretein. A kifejezések létrehozásáról a Kifejezés készítése című témakörben talál további információt.
4. lépés: Feltételek meghatározása
Ez a lépés nem kötelező.
A lekérdezés eredményeként visszakapott rekordok körét feltételek meghatározásával szűkítheti. Az eredményben ilyenkor csak a megadott feltételeknek megfelelő mezőértékek fognak megjelenni.
Kimeneti mező feltételeinek meghatározása
-
A lekérdezéstervező rácsban keresse meg azt a mezőt, amelynek az értékét korlátozni szeretné, és a mező Feltétel sorában adja meg azt a kifejezést, amelynek teljesülnie kell ahhoz, hogy a mező értéke a lekérdezés eredményében megjelenjen. Ha például azt szeretné, hogy a lekérdezés csak azokat a rekordokat jelenítse meg, amelyeknél a Város mező értéke Veszprém, akkor az adott mező Feltétel sorába írja be a Veszprém szöveget.
A különféle típusú adatokra megadható feltételekre a Példák lekérdezésfeltételekre című témakörben további példákat talál.
-
A Feltétel sor alatt található vagy sorban alternatív feltételeket adhat meg.
Ha alternatív feltételt ad meg, akkor a mező értéke bármely megadott feltétel teljesülése esetén megjelenik a lekérdezés eredményében.
Több mezőfeltétel
Feltételeket több mezővel is használhat. Ebben az esetben az adott Feltétel vagy vagy sor minden feltételének teljesülnie kell ahhoz, hogy a rekord megjelenjen az eredményekben.
Feltételek megadása nem megjelenítendő mezővel
A lekérdezéstervezőben olyan mezőket is hozzáadhat, melyek adatait nem szeretné megjeleníteni a lekérdezés eredményében. Ezt olyan esetben érdemes használni, ha egy mező értékét csupán a lekérdezés eredményének korlátozásához szeretné felhasználni, de magát az értéket nem szeretné megjeleníteni.
-
Adja hozzá a mezőt a tervezőrácsban.
-
A mező sorában törölje a jelet a Megjelenítés jelölőnégyzetből.
-
A kimeneti mezőhöz a szokásos módon adja meg a feltételeket.
5. lépés: Adatok összegzése
Ez a lépés nem kötelező.
Az adatok összesítése különösen numerikus adatok esetén lehet célszerű. Ilyen módon megjeleníthető például az átlagár vagy az értékesítések teljes összege.
A lekérdezésben szereplő adatokat az Összesítés sor használatával lehet összegezni. Az Összesítés sor az alapértelmezett beállítás szerint nem jelenik meg Tervező nézetben.
-
Ha a lekérdezés meg van nyitva Tervező nézetben, kattintson a Lekérdezéstervező lap Megjelenítés/elrejtés csoportjában az Összegek elemre.
Access megjeleníti az Összeg sort a lekérdezéstervező rácsban.
-
Az összegezni kívánt mezők mindegyikénél válassza ki az Összesítés sor listájából a használni kívánt függvényt. A mező adattípusától függ, hogy mely függvények érhetőek el a listában.
Ha többet szeretne megtudni a lekérdezések Összegsor funkciójáról, olvassa el az Oszlopösszegek megjelenítése adatlapon összegsor használatával című cikket.
6. lépés: Az eredmények megtekintése
A lekérdezés eredményeinek megtekintéséhez kattintson a Lekérdezéstervező lapon a Futtatás gombra. Access Adatlap nézetben jeleníti meg a lekérdezés eredményeit.
Ha módosítani szeretné a lekérdezést, kattintson a Kezdőlap > Nézet > Tervező nézet elemre, így visszatérhet a Tervező nézethez.
Módosítsa a mezőket, kifejezéseket és feltételeket, és futtassa ismét a lekérdezést, amíg az a kívánt adatokat nem adja vissza.