Niekedy možno budete chcieť porovnať dve tabuľky v Access a identifikovať záznamy v jednej z tabuliek, ktoré nemajú zodpovedajúce záznamy v druhej tabuľke. Najjednoduchším spôsobom, ako tieto záznamy identifikovať, je použiť Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy. Keď sprievodca vytvorí dotaz, môžete upraviť návrh dotazu tak, aby sa pridali alebo odstránili polia, alebo pridať spojenia medzi dvoma tabuľkami (na označenie polí, ktorých hodnoty by sa mali zhodovať). Môžete tiež vytvoriť vlastný dotaz na vyhľadanie nezhodných záznamov bez použitia sprievodcu.
V tomto článku sa dozviete, ako spustiť Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy, ako upraviť jeho výstup a ako vytvoriť vlastný dotaz na vyhľadávanie nezhodných záznamov.
Obsah článku
Kedy treba vyhľadať nezhodné záznamy?
Nasledujú dva bežné prípady, kedy pravdepodobne budete chcieť porovnať dve tabuľky a nájsť nezhodné záznamy. V závislosti od vášho prípadu môže byť vyhľadanie nezhodných záznamov iba prvý z viacerých krokov, ktoré možno budete musieť podniknúť. Tento článok sa venuje iba vyhľadávaniu nezhodných záznamov.
-
Jednu tabuľku používate na ukladanie údajov o nejakej veci (napríklad o produkte) a druhú tabuľku na ukladanie údajov o akciách (napríklad o objednávkach), ktoré sa danej veci týkajú.
V šablóne databázy Northwind sa údaje o produktoch ukladajú v tabuľke Produkty a údaje o produktoch, ktoré sú zahrnuté v jednotlivých objednávkach, sa ukladajú v tabuľke Podrobnosti objednávky. Keďže v tabuľke Produkty (na základe návrhu) nie sú žiadne údaje o objednávkach, pri pohľade na tabuľku Produkty nie je možné určiť, ktoré produkty sa doteraz nikdy nepredali. Túto informáciu taktiež nie je možné určiť iba z tabuľky Podrobnosti objednávky, pretože táto tabuľka obsahuje iba údaje o produktoch, ktoré sa predali. Ak chcete určiť, ktoré produkty sa nikdy nepredali, musíte tieto dve tabuľky porovnať.
Ak chcete skontrolovať zoznam vecí z prvej tabuľky, pre ktoré neexistujú zodpovedajúce akcie v druhej tabuľke, môžete použiť vyhľadávací dotaz pre nezhodné záznamy.
-
Máte dve tabuľky, ktoré obsahujú prekrývajúce sa, nadbytočné alebo konfliktné informácie, a chcete ich zlúčiť do jednej tabuľky.
Predpokladajme napríklad, že existuje tabuľka s názvom Zákazníci a ďalšia tabuľka s názvom Klienti. Tabuľky sú takmer zhodné, ale jedna alebo obidve tabuľky obsahujú niektoré záznamy, ktoré v druhej chýbajú. Ak chcete tabuľky zlúčiť, musíte najskôr určiť, ktoré záznamy sú jedinečné pre jednu alebo pre druhú tabuľku.
Ak ide o tento prípad, pomôcť vám môžu postupy opísané v tomto článku, ale pravdepodobne bude potrebné vykonať ďalšie kroky. Pomocou Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy môžete identifikovať nezhodné záznamy, ale ak chcete načítať kombinovanú množinu záznamov, použite výsledky na vytvorenie zjednocovacieho dotazu. Ak dokážete bez problémov písať príkazy v jazyku SQL (Structured Query Language), môžete dokonca Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy obísť a zjednocovací dotaz napísať ručne.
K problému s prekrývajúcimi sa, nadbytočnými alebo konfliktnými informáciami môžete pristúpiť tak, že vyhľadáte duplicitné údaje v dvoch alebo viacerých tabuľkách.
Ďalšie informácie o zjednocovacích dotazoch alebo o hľadaní, skrývaní či odstraňovaní duplicitných údajov nájdete po kliknutí na prepojenia v časti Pozrite tiež.
Poznámka: V príkladoch použitých v tomto článku sa používa databáza vytvorená pomocou šablóny databázy Northwind.
Zobrazenie postupu na nastavenie databázy Northwind
-
Na karte Súbor kliknite na položku Nové.
-
Podľa vašej verzie Accessu môžete Northwind vyhľadať pomocou vyhľadávacieho poľa alebo kliknúť na ľavej table v časti Kategórie šablón na položku Miestne šablóny.
-
V časti Miestne šablóny kliknite na položku Northwind 2007 a potom kliknite na položku Vytvoriť.
-
Postupujte podľa pokynov na strane Northwind Traders (na karte objektu Úvodná obrazovka) a otvorte databázu. Potom zatvorte dialógové okno prihlásenia.
Na porovnanie dvoch tabuliek použite Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy
-
Na karte Vytvoriť v skupine Dotazy kliknite na položku Sprievodca dotazom.
-
V dialógovom okne Nový dotaz dvakrát kliknite na položku Sprievodca vyhľadávacím dotazom pre nezhodné záznamy.
-
Na prvej strane Sprievodcu vyberte tabuľku, ktorá obsahuje nezhodné záznamy, a potom kliknite na tlačidlo Ďalej. Ak chcete napríklad zobraziť zoznam produktov databázy Northwind, ktoré sa nikdy nepredali, vyberte tabuľku Produkty.
-
Na druhej strane vyberte súvisiacu tabuľku a potom kliknite na tlačidlo Ďalej. Postupujte podľa príkladu a vyberte tabuľku Podrobnosti objednávky.
-
Na tretej strane vyberte polia, ktoré spájajú tabuľky, kliknite na položku < = > a potom na tlačidlo Ďalej. Z každej tabuľky je možné vybrať iba jedno pole. Postupujte podľa príkladu a z tabuľky Produkty vyberte pole ID a z tabuľky Podrobnosti objednávky vyberte pole Identifikácia produktu. Skontrolujte text v poli Zodpovedajúce polia a overte, či sú zodpovedajúce polia správne.
Všimnite si, že polia ID a Identifikácia produktu už môžu byť vybraté, pretože v šablóne sú už vstavané existujúce relácie.
-
Na štvrtej strane dvakrát kliknite na polia, ktoré chcete zobraziť z prvej tabuľky a potom kliknite na tlačidlo Ďalej. Postupujte podľa príkladu a vyberte polia ID a Názov produktu.
-
Na piatej strane môžete vybrať, či chcete zobraziť výsledky alebo upraviť návrh svojho dotazu. V tomto príklade kliknite na položku Zobraziť výsledky. Potvrďte navrhovaný názov dotazu a potom kliknite na tlačidlo Dokončiť.
Možno budete chcieť upraviť návrh dotazu a pridať ďalšie kritériá, zmeniť spôsob zoradenia alebo pridať alebo odstrániť polia. Informácie o úprave dotazu Hľadať nezhodné nájdete v nasledujúcej časti. alebo všeobecnejšie informácie o vytváraní a úprave dotazov nájdete v prepojeniach v časti Pozrite tiež .
Vytvorenie a úprava Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy na porovnanie na základe viacerých polí
-
Na karte Vytvoriť v skupine Dotazy kliknite na položku Sprievodca dotazom.
-
V dialógovom okne Nový dotaz dvakrát kliknite na položku Sprievodca vyhľadávacím dotazom pre nezhodné záznamy
-
Na prvej strane Sprievodcu vyberte tabuľku, ktorá obsahuje nezhodné záznamy, a potom kliknite na tlačidlo Ďalej. Ak chcete napríklad zobraziť zoznam produktov databázy Northwind, ktoré sa nikdy nepredali, vyberte tabuľku Produkty.
-
Na druhej strane vyberte súvisiacu tabuľku a potom kliknite na tlačidlo Ďalej. Postupujte podľa príkladu a vyberte tabuľku Podrobnosti objednávky.
-
Na tretej strane vyberte polia, ktoré spájajú tabuľky, kliknite na položku < = > a potom na tlačidlo Ďalej. Z každej tabuľky je možné vybrať iba jedno pole. Postupujte podľa príkladu a z tabuľky Produkty vyberte pole ID a z tabuľky Podrobnosti objednávky vyberte pole Identifikácia produktu. Skontrolujte text v poli Zodpovedajúce polia a overte, či sú zodpovedajúce polia správne. Po dokončení sprievodcu môžete spojiť zostávajúce polia.
Všimnite si, že polia ID a Identifikácia produktu už môžu byť vybraté, pretože v šablóne sú už vstavané existujúce relácie.
-
Na štvrtej strane dvakrát kliknite na polia, ktoré chcete zobraziť z prvej tabuľky a potom kliknite na tlačidlo Ďalej. Postupujte podľa príkladu a vyberte polia ID a Názov produktu.
-
Na piatej strane kliknite na položku Upraviť návrh a potom kliknite na položku Dokončiť.
Dotaz sa otvorí v návrhovom zobrazení.
-
V návrhovej mriežke dotazu si všimnite, že dve tabuľky sú spojené cez polia (v tomto príklade ID a Identifikácia produktu), ktoré ste zadali na tretej strane Sprievodcu. Potiahnutím polí z prvej tabuľky (tabuľka, ktorá obsahuje nezhodujúce sa záznamy) do druhej tabuľky vytvorte spojenie pre každý zostávajúci pár súvisiacich polí. Potiahnite napríklad pole Cenník z tabuľky Produkty do poľa Jednotková cena z tabuľky Podrobnosti objednávky.
-
Dvakrát kliknite na spojenie (čiara, ktorá spája polia) a zobrazí sa dialógové okno Vlastnosti spojenia. Pre každé spojenie vyberte možnosť, ktorá obsahuje všetky záznamy z tabuľky Produkty, a potom kliknite na tlačidlo OK.
V návrhovej mriežke dotazu si všimnite, že každé spojenie má teraz na jednom konci šípku.
1. Keď vytvoríte spojenie medzi poľami Cenník a Jednotková cena, spojenie obmedzí výstup z obidvoch tabuliek. Do výsledkov dotazu sa zahrnú iba záznamy so zodpovedajúcimi údajmi v poliach z oboch tabuliek.
2. Po úprave vlastností spojenia sa bude obmedzenie vzťahovať iba na tabuľku, ku ktorej smeruje šípka. Záznamy v tabuľke, od ktorej šípka smeruje, budú vo výsledkoch dotazu zahrnuté všetky.
Poznámka: Uistite sa, že všetky šípky v spojeniach ukazujú rovnakým smerom.
-
V tabuľke, ktorá obsahuje súvisiace záznamy (v tomto príklade tabuľka Podrobnosti objednávky), dvakrát kliknite na každé pole, ktoré je spojené s prvou tabuľkou, okrem poľa, ktoré ste vybrali na tretej strane Sprievodcu (v tomto prípade je to pole Identifikácia produktu). Pre každé z týchto polí zrušte začiarknutie políčka v riadku Zobraziť a do riadka Kritériá zadajte hodnotu Is Null.
-
Kritériá môžete tiež pridať do ostatných polí dotazu alebo môžete vytvoriť vypočítavané polia, ktoré sú založené na hodnotách z prvej tabuľky.
-
Na karte Návrh dotazu kliknite v skupine Výsledky na položku Spustiť.
Dotaz vráti názvy produktov, ktoré nie sú súčasťou žiadnej existujúcej objednávky.
Vytvorenie vlastného dotazu na vyhľadanie nezhodných záznamov
-
Na karte Vytvoriť kliknite v skupine Dotazy na položku Návrh dotazu.
-
Dvakrát kliknite na tabuľku, ktorá obsahuje nezhodné záznamy, a potom dvakrát kliknite na tabuľku, ktorá obsahuje súvisiace záznamy.
-
V návrhovej mriežke dotazu by dve tabuľky mali obsahovať čiary nazývané spojenia, ktoré ich spájajú podľa súvisiacich polí. Ak spojenia chýbajú, vytvorte ich potiahnutím každého súvisiaceho poľa z prvej tabuľky (tabuľka, ktorá obsahuje nezhodné záznamy) do druhej tabuľky (tabuľka, ktorá obsahuje súvisiace záznamy).
-
Dvojitým kliknutím na spojenie otvorte dialógové okno Vlastnosti spojenia. V prípade každého spojenia vyberte možnosť 2 a potom kliknite na tlačidlo OK.
V návrhovej mriežke dotazu sa spojenia zmenia a na jednom konci budú mať šípku.
Poznámka: Uistite sa, že všetky spojenia ukazujú rovnakým smerom. Dotaz nebude fungovať, ak spojenia budú ukazovať rôznymi smermi, a nemusí fungovať, ak ľubovoľné spojenie neobsahuje šípku. Spojenia musia smerovať von z tabuľky, ktorá obsahuje nezhodné záznamy.
-
V tabuľke, ktorá obsahuje nezhodné záznamy, dvakrát kliknite na polia, ktoré sa majú vrátiť v dotaze.
Ľubovoľnému poľu môžete zadať podmienky alebo môžete vytvoriť vypočítavané polia.
-
V tabuľke, ktorá obsahuje súvisiace záznamy, dvakrát kliknite na každé pole, ktoré je spojené s prvou tabuľkou. Pre každé z týchto polí zrušte začiarknutie políčka v riadku Zobraziť a do riadka Kritériá zadajte hodnotu Is Null.
-
Na karte Návrh dotazu kliknite v skupine Výsledky na položku Spustiť.
Pozrite tiež
Vytvorenie jednoduchého výberového dotazu
Nájdenie duplicitných záznamov pomocou dotazu
Použitie zjednocovacieho dotazu na získanie jedného výsledku z kombinácie viacerých dotazov