Néha előfordulhat, hogy csak egyetlen Access-táblában szeretné áttekinteni a rekordokat, ha egy másik Access-táblában olyan megfelelő rekordok vannak, amelyek egy vagy több, egyező adatot tartalmazó mezőt tartalmaznak. Előfordulhat például, hogy azoknak az alkalmazottaknak az alkalmazotti rekordjait szeretné megtekinteni, akik legalább egy megrendelést feldolgoztak, mert így szeretné megállapítani, hogy kik jogosultak bónuszra. Vagy az is lehetséges, hogy azoknak az ügyfeleknek az elérhetőségi adatait szeretné megnézni, akik ugyanabban a városban laknak, mint az egyik alkalmazott, hogy így összehozza az alkalmazottakat az ügyfelekkel egy személyes találkozóra.
Ha össze szeretne hasonlítani két Access-táblát, és meg szeretné bennük keresni az egyező adatokat, a következő lehetőségek közül választhat:
-
Létrehozhat egy olyan lekérdezést, amely minden egyes táblából egymáshoz illeszti az egyező információkat tartalmazó mezőket, meglévő kapcsolat vagy egy, a lekérdezés céljából létrehozott illesztés használatával. Ez a módszer optimális teljesítményt (a lekérdezés eredmények visszaadásának sebessége) biztosít, nem lehet egymáshoz illeszteni azonban olyan mezőket, amelyekben eltérő adattípusok szerepelnek.
-
Olyan lekérdezést is létrehozhat, amely a mezőket úgy hasonlítja össze, hogy az egyik mezőt feltételként használja a másikhoz. Ha egy mezőt használ egy másik mező feltételeként, ez általában lassabb, mint az illesztések használata, mivel ez utóbbiak eltávolítják a sorokat a lekérdezés eredményei közül, mielőtt megtörténne az alapul szolgáló táblák olvasása, a feltételek alkalmazása a lekérdezés eredményeire azonban csak az alapul szolgáló táblák olvasása után történik meg. A mezőfeltételként megadott mezőkkel ugyanakkor az eltérő adattípusú mezőket is összehasonlíthatja, amit illesztésekkel nem tehetne meg.
Ez a cikk azt ismerteti, hogy miként lehet két tábla összehasonlításával azonosítani az egyező adatokat, és olyan mintaadatokat is tartalmaz, amelyeket felhasználhat a példaeljárások végrehajtása során.
Kapcsolódó műveletek
Két tábla összehasonlítása illesztések használatával
Ha illesztések használatával szeretne két táblát összehasonlítani, létre kell hoznia egy olyan választó lekérdezést, amely mindkét táblát tartalmazza. Ha még nincs meglévő kapcsolat az egyező adatokat tartalmazó mezők táblái között, létre kell hoznia egy illesztést azokon a mezőkön, amelyekben meg szeretné vizsgálni az egyezéseket. Tetszőleges számú illesztést hozhat létre, de minden egyes illesztett mezőpárnak azonos vagy kompatibilis adattípusúnak kell lennie.
Tegyük fel, hogy Ön egy intézményi kutató egy főiskolán, és ki szeretné deríteni, hogy a matematikai tanszéken bevezetett legutóbbi változások miként hatottak a diákok osztályzataira. Különösen azoknak a diákoknak az osztályzatai érdeklik, akik matematika szakra járnak. Van már egy olyan táblája, amelyben a matematika szakra járó diákok adatai, illetve egy olyan, amelyben a matematikát mint tantárgyat hallgató diákok adatai szerepelnek. Az osztályzatadatokat a Felvett tantárgyak, a matematika szakra járó diákok adatait pedig a Felvett szakok tábla tartalmazza. Ha látni szeretné, hogy a matematika szakos hallgatók osztályzatai hogyan változtak a tanterv legutóbbi változásai óta, tanulmányoznia kell a Felvett tantárgyak táblában azokat a rekordokat, amelyekhez vannak egyező rekordok a Felvett szakok táblában.
Mintaadatok készítése
Ezzel a példával egy olyan lekérdezést hozhat létre, amellyel kideríthető, hogy a matematika szakon a tanterv legutóbbi változásai hogyan hatottak a matematikát hallgató diákok osztályzataira. Az alábbi két táblát használja (Felvett tantárgyak és Felvett szakok). Vegye fel ezt a két táblát (Felvett szakok és Felvett tantárgyak) egy adatbázisba.
Access többféleképpen is hozzáadhatja ezeket a mintatáblákat egy adatbázishoz. Az adatokat beírhatja manuálisan, az egyes táblázatokat egy táblázatkezelő programba másolhatja, majd importálhatja a munkalapokat Access, vagy beillesztheti az adatokat egy szövegszerkesztőbe, például a Jegyzettömbbe, majd importálhatja az adatokat az eredményül kapott szövegfájlokból.
A jelen szakasz azt ismerteti, hogy miként vihet be adatokat manuálisan egy üres adatlapba, illetve hogyan másolhatja át a mintatáblákat az Excelbe, majd importálhatja a táblákat az Accessbe.
Felvett szakok
Diák azonosítója |
Év |
Szak |
---|---|---|
123456789 |
2005 |
MATEMATIKA |
223334444 |
2005 |
ANGOL |
987654321 |
2005 |
MATEMATIKA |
135791357 |
2005 |
TÖRTÉNELEM |
147025836 |
2005 |
BIOLÓGIA |
707070707 |
2005 |
MATEMATIKA |
123456789 |
2006 |
MATEMATIKA |
223334444 |
2006 |
ANGOL |
987654321 |
2006 |
PSZICHOLÓGIA |
135791357 |
2006 |
MŰVÉSZETTÖRTÉNET |
147025836 |
2006 |
BIOLÓGIA |
707070707 |
2006 |
MATEMATIKA |
Tárgyként
Diák azonosítója |
Év |
Szemeszter |
Tantárgy |
Kurzus száma |
Osztályzat |
---|---|---|---|---|---|
123456789 |
2005 |
3 |
MATEMATIKA |
221 |
A |
123456789 |
2005 |
3 |
ANGOL |
101 |
B |
123456789 |
2006 |
1 |
MATEMATIKA |
242 |
C |
123456789 |
2006 |
1 |
MATEMATIKA |
224 |
C |
223334444 |
2005 |
3 |
ANGOL |
112 |
A |
223334444 |
2005 |
3 |
MATEMATIKA |
120 |
C |
223334444 |
2006 |
1 |
POLITOLÓGIA |
110 |
A |
223334444 |
2006 |
1 |
ANGOL |
201 |
B |
987654321 |
2005 |
3 |
MATEMATIKA |
120 |
A |
987654321 |
2005 |
3 |
PSZICHOLÓGIA |
101 |
A |
987654321 |
2006 |
1 |
MATEMATIKA |
221 |
B |
987654321 |
2006 |
1 |
MATEMATIKA |
242 |
C |
135791357 |
2005 |
3 |
TÖRTÉNELEM |
102 |
A |
135791357 |
2005 |
3 |
MŰVÉSZETTÖRTÉNET |
112 |
A |
135791357 |
2006 |
1 |
MATEMATIKA |
120 |
B |
135791357 |
2006 |
1 |
MATEMATIKA |
141 |
C |
147025836 |
2005 |
3 |
BIOLÓGIA |
113 |
B |
147025836 |
2005 |
3 |
KÉMIA |
113 |
B |
147025836 |
2006 |
1 |
MATEMATIKA |
120 |
D |
147025836 |
2006 |
1 |
STATISZTIKA |
114 |
B |
707070707 |
2005 |
3 |
MATEMATIKA |
221 |
B |
707070707 |
2005 |
3 |
STATISZTIKA |
114 |
A |
707070707 |
2006 |
1 |
MATEMATIKA |
242 |
D |
707070707 |
2006 |
1 |
MATEMATIKA |
224 |
C |
Ha a mintaadatok beírásához egy táblázatkezelő programot szeretne használni, kihagyhatja a következő szakasz lépéseit.
A mintaadatok manuális bevitele
-
Nyisson meg egy új vagy létező adatbázist.
-
A Létrehozás lap Táblák csoportjában kattintson a Tábla gombra.
Az Access felvesz egy új, üres táblát az adatbázisba.
Megjegyzés: Új, üres adatbázis megnyitásakor erre a lépésre nincs szükség, amikor azonban új táblát vesz fel az adatbázisba, mindig el kell végeznie.
-
Kattintson duplán a fejlécsor első cellájába, és írja be a mintatábla első mezőjének nevét.
Alapértelmezés szerint az Access az összes új mező fejlécében az Új mező hozzáadása szöveget jeleníti meg. Ez látható az alábbi ábrán:
-
A nyílbillentyűkkel lépjen a következő üres fejléccellára, majd írja be a második mezőnevet. (Az új cellára duplán is kattinthat.) Ismételje meg ezt a lépést minden mezőnévnél.
-
Vigye be a mintatábla adatait.
Amint beviszi az adatokat, az Access beállítja az egyes mezők adattípusát. Minden egyes mezőben megtalálható egy meghatározott adattípus (például Szám, Szöveg vagy Dátum/Idő). Az adattípusok beállítása segíti a pontos adatbevitelt és a hibák megelőzését (nem fordulhat elő például, hogy egy telefonszámot próbáljon meg felhasználni egy számításban). Ezekben a mintatáblákban engedélyezheti az Accessnek az adattípus beállítását, de mindenképpen minden mezőben ellenőrizze az Access által megadott adattípusokat.
-
Ha befejezte az adatok bevitelét, kattintson a Mentés gombra, vagy nyomja le a CTRL+S billentyűkombinációt.
Megjelenik a Mentés másként párbeszédpanel.
-
A Táblanév mezőben adja meg a mintatábla nevét, majd kattintson az OK gombra.
Az egyes mintatáblák (például Felvett szakok) nevét használja, mivel a jelen cikk eljárást ismertető szakaszában szereplő lekérdezésekben is ezek a nevek vannak használatban.
Ha befejezte a mintaadatok megadását, készen áll arra, hogy összehasonlítsa a két táblát.
A következő szakaszt (A mintamunkalapok létrehozása) csak akkor olvassa el, ha meg szeretné tudni, hogy miként hozhat létre az előző szakaszban szereplő táblákból származó mintaadatokon alapuló munkalapot.
A mintamunkalapok létrehozása
-
Indítsa el a táblázatkezelő alkalmazást, és hozzon létre egy új, üres fájlt. Excel használata esetén a program elindításakor alapértelmezés szerint létrejön egy új, üres munkafüzet.
-
Az előző szakaszból másolja ki az első mintatáblát, és illessze be az első munkalapra, az első cellától kezdődően. Ügyeljen arra, hogy a fejlécsort is kimásolja, mivel az tartalmazza a mintatábla mezőneveit.
-
A táblázatkezelő alkalmazás által biztosított módszerrel nevezze el a munkalapot a mintatáblával megegyező néven. Például a Felvett tantárgyak tábla mintaadatainak beillesztése esetén adja a munkalapnak a Felvett tantárgyak nevet.
-
Ismételje meg a 2. és a 3. lépést, másolja át a második mintatáblát egy üres munkalapra, és nevezze át a munkalapot.
Megjegyzés: Lehetséges, hogy új munkalapokat kell hozzáadni a számolótáblafájlhoz. Arról, hogy hogyan adhat hozzá munkalapokat a számolótáblafájlhoz, a táblázatkezelő alkalmazás súgójában tájékozódhat.
-
Mentse a munkafüzetet egy megfelelő helyre a számítógépén vagy a hálózaton, majd folytassa a következő lépéssorral.
Adatbázistáblák létrehozása a munkafüzetekből
-
Új vagy meglévő adatbázisban:
A Külső adatok lap Importálás csoportjában kattintson az Excel gombra.
– vagy –
Kattintson az Egyebek gombra, és válasszon egy adatbázis-kezelő alkalmazást a listáról.
Megjelenik a Külső adatok átvétele – Programnév munkafüzet párbeszédpanel.
-
Kattintson a Tallózás gombra, keresse meg és nyissa meg a fentebb létrehozott számolótáblafájlt, majd kattintson az OK gombra.
Ekkor elindul a Táblázat importálása varázsló.
A varázsló alapértelmezés szerint a munkafüzet első munkalapját jelöli ki (ha követte az előző szakasz útmutatását, akkor ez a Felvett szakok nevű lesz), és a munkalap adatai megjelennek a varázsló lapjának alsó részén.
-
Kattintson a Tovább gombra.
-
A varázsló következő lapján jelölje be Az első sor oszlopfejléceket tartalmaz jelölőnégyzetet, majd kattintson a Tovább gombra.
-
A következő lap Mezőbeállítások csoportjában található beviteli mezők és listák segítségével módosíthatja a mezőneveket és az adattípusokat, vagy akár ki is hagyhat mezőket az importálásból. Ebben a példában nem kell megváltoztatnia semmit. Kattintson a Tovább gombra.
-
A következő lapon válassza a Ne legyen elsődleges kulcs beállítást, és kattintson a Tovább gombra.
-
Az Access alapértelmezés szerint a munkalap nevét használja az új tábla neveként. Fogadja el az Importálás a következő táblába mezőben szereplő nevet, vagy adjon meg egy másikat, és kattintson a Befejezés gombra.
-
Az Importálási lépések mentése lapon kattintson a Bezárás gombra a varázsló befejezéséhez.
-
Az 1–7. lépést megismételve a számolótáblafájl minden munkalapjából készítsen egy-egy táblát.
A mintatáblák összehasonlítása és az egyező rekordok megkeresése illesztések használatával
Most már készen áll arra, hogy összehasonlítsa a Felvett tantárgyak és a Felvett szakok táblát. Mivel nem definiált kapcsolatokat a két tábla között, illesztéseket kell létrehoznia a megfelelő mezők között a lekérdezésben. A táblák több egyező mezővel rendelkeznek, Önnek pedig minden egyes egyező mezőpárhoz létre kell hoznia egy illesztést: Diák azonosítója, Év és Tantárgy (Felvett tantárgyak tábla), illetve Szak (Felvett szakok tábla). Ebben a példában Önt csak a matematika szakra járók érdeklik, ezért egy mezőfeltételt is használnia kell a lekérdezés eredményeinek szűkítésére.
-
Nyissa meg azt az adatbázist, amelybe a mintatáblákat mentette.
-
Kattintson a Létrehozás lap Lekérdezéstervező gombjára.
-
Kattintson duplán arra a táblára, amely a megjeleníteni kívánt rekordokat tartalmazza – ebben a példában a Felvett tantárgyak táblára, majd kattintson duplán arra a táblára, amelyikhez hasonlítja – ebben a példában a Felvett szakok táblára.
-
Húzza a Diák azonosítója mezőt a Felvett tantárgyak táblából a Felvett szakok tábla Diák azonosítója mezőjébe. Ekkor egy vonal jelenik meg a két tábla között a tervezőrácson, amely jelzi az illesztés létrejöttét. A vonalra duplán kattintva nyissa meg az Illesztési tulajdonságok párbeszédpanelt.
-
Tanulmányozza az Illesztési tulajdonságok párbeszédpanel három beállítását. Alapértelmezés szerint az 1 beállítás van megadva. Egyes esetekben igazítania kell az illesztési tulajdonságokat úgy, hogy az egyik táblából további sorok is szerepeljenek köztük. Mivel csak az egyező adatokat keresi, hagyja meg az illesztés beállításaként az 1 értéket. Az Illesztési tulajdonságok párbeszédpanel bezárásához kattintson a Mégse gombra.
-
Két további illesztést is létre kell még hoznia. Az illesztések létrehozásához húzza az Év mezőt a Felvett tantárgyak táblából az Év mezőbe a Felvett szakok táblában, majd húzza a Tantárgy mezőt a Felvett tantárgyak táblából a Szak mezőbe a Felvett szakok táblában.
-
A Felvett tantárgyak táblában kattintson duplán a csillagra (*) a tábla összes mezőjének felvételéhez a lekérdezés tervezőrácsára.
Megjegyzés: Ha a csillag használatával az összes mezőt felveszi, akkor csak egyetlen oszlop jelenik meg a tervezőrácson. A megjelenő oszlop a tábla nevét kapja, amelyet egy pont (.) és egy csillag (*) követ. Ebben a példában az oszlop neve Felvett tantárgyak.*.
-
A Felvett szakok táblában kattintson duplán a Szak mezőre a rácsra való felvételéhez.
-
Törölje a Megjelenítés sort a Szak oszlopban a lekérdezés tervezőrácsán.
-
A Szak oszlop Feltétel sorába írja be a MATEMATIKA szót.
-
A Tervezés lap Eredmények csoportjában kattintson a Futtatás gombra.
Ekkor megtörténik a lekérdezés futása, majd megjelennek a matematika szakos hallgatók osztályzatai.
Két tábla összehasonlítása feltételként használt mező segítségével
Néha előfordulhat, hogy a táblákat az egyező adatokat tartalmazó, de különböző adattípusú mezők alapján szeretné összehasonlítani. Lehetséges például, hogy az egyik tábla egyik mezőjében Szám típusú adatok szerepelnek, és ezt a mezőt egy másik tábla Szöveg adattípusú mezőjével szeretné összehasonlítani. Hasonló adatokat tartalmazó, ám különböző mezőtípusú mezőket olyankor kaphat eredményül, amikor a számok szövegként vannak tárolva, akár tervszerűen, akár más okok miatt, például az adatok egy másik programba való importálása esetén. Mivel nem hozhat létre illesztéseket különböző adattípusú mezők között, eltérő módszert kell használnia a mezők összehasonlításához. Két, különböző adattípusú mezőt úgy hasonlíthat össze, hogy az egyik mezőt a másik feltételeként használja.
Tegyük fel, hogy Ön egy intézményi kutató egy főiskolán, és ki szeretné deríteni, hogy a matematikai tanszéken bevezetett legutóbbi változások miként hatottak a diákok osztályzataira. Különösen azoknak a diákoknak az osztályzatai érdeklik, akik matematika szakra járnak. Önnek van már egy Felvett szakok és egy Felvett tantárgyak nevű táblája. Az osztályzatadatokat a Felvett tantárgyak, a matematika szakra járó diákok adatait pedig a Felvett szakok tábla tartalmazza. Ha látni szeretné, hogy a matematika szakos hallgatók osztályzatai hogyan változtak, tanulmányoznia kell a Felvett tantárgyak táblázatban azokat a rekordokat, amelyekhez vannak egyező rekordok a Felvett szakok táblázatban. A táblák összehasonlításához használni kívánt egyik mező adattípusa azonban különbözik a másik mezőétől.
Ha úgy szeretne két táblát összehasonlítani, hogy egy mezőt használ feltételként, létre kell hoznia egy olyan választó lekérdezést, amely mindkét táblát tartalmazza. Szerepeltetnie kell a megjeleníteni kívánt mezőket, valamint azt a mezőt is, amely a feltételként használni kívánt mezőnek felel meg. Ezután létrehozhat egy feltételt a táblák összehasonlításához. A mezők összehasonlításához tetszőleges számú feltételt hozhat létre.
A módszer illusztrálásához az előző szakasz mintatábláit fogjuk használni, de megváltoztatjuk a Felvett szakok tábla Diák azonosítója mezőjének adattípusát Szám típusról Szöveg típusra. Mivel nem hozhat létre illesztést két, különböző adattípusú mező között, úgy kell összehasonlítania a Diák azonosítója mezőket, hogy az egyik mezőt feltételként használja a másikhoz.
A Felvett szakok táblában a Diák azonosítója mező adattípusának módosítása
-
Nyissa meg azt az adatbázist, amelybe a mintatáblákat mentette.
-
Kattintson a jobb gombbal a navigációs ablakban a Felvett szakok táblára, majd kattintson a helyi menü Tervező nézet parancsára.
Ekkor megnyílik a Felvett szakok tábla Tervező nézetben.
-
Az Adattípus oszlopban módosítsa a Diák azonosítója mező beállítását Szám értékről Szöveg értékre.
-
Zárja be a Felvett szakok táblát. Ha a program a módosítások mentésére kéri, kattintson az Igen gombra.
A mintatáblák összehasonlítása és az egyező rekordok megkeresése feltételként használt mező segítségével
A következő eljárás azt mutatja be, hogy miként hasonlíthat össze két Diák azonosítója mezőt úgy, hogy a Felvett tantárgyak tábla egyik mezőjét feltételként használja a Felvett szakok tábla mezőjéhez. A Hasonló kulcsszó használatával összehasonlíthatja a mezőket akkor is, ha azok adattípusa különbözik.
-
Kattintson a Létrehozás lap Egyéb csoportjában a Lekérdezéstervező gombra.
-
Kattintson duplán az Osztályregisztrációk elemre, majd kattintson duplán a Felvett szakok elemre.
-
Húzza az Év mezőt a Felvett tantárgyak táblából az Év mezőbe a Felvett szakok táblában, majd húzza a Tantárgy mezőt a Felvett tantárgyak táblából a Szak mezőbe a Felvett szakok táblában. Mivel ezen mezők adattípusa megegyezik, összehasonlíthatja őket illesztések használatával. Az azonos adattípusú mezők összehasonlításának preferált módszere az illesztések használata.
-
Kattintson duplán a csillagra (*) a Felvett tantárgyak táblában a tábla összes mezőjének felvételéhez a lekérdezés tervezőrácsára.
Megjegyzés: Ha a csillag használatával az összes mezőt felveszi, akkor csak egyetlen oszlop jelenik meg a tervezőrácson. A megjelenő oszlop a tábla nevét kapja, amelyet egy pont (.) és egy csillag (*) követ. Ebben a példában az oszlop neve Felvett tantárgyak.*.
-
A Felvett szakok táblában kattintson duplán a Diák azonosítója mezőre a rácsra való felvételéhez.
-
Törölje a Megjelenítés sor jelölőnégyzetének jelölését a tervezőrács Diák azonosítója oszlopában. A Diák azonosítója oszlop Feltétel sorába írja be a következőt: Hasonló [Felvett tantárgyak].[Diák azonosítója].
-
A Felvett szakok táblában kattintson duplán a Szak mezőre a rácsra való felvételéhez.
-
Törölje a Megjelenítés sor jelölőnégyzetének jelölését a tervezőrács Szak oszlopában. A Feltétel sorba írja be a MATEMATIKA szót.
-
A Tervezés lap Eredmények csoportjában kattintson a Futtatás gombra.
Ekkor megtörténik a lekérdezés futása, majd megjelennek a matematika szakos hallgatók osztályzatai.