Porovnanie dvoch tabuliek a vyhľadanie záznamov bez zhôd

Niekedy môžete chcieť porovnať dve tabuľky a identifikovať záznamy v jednej tabuľke, ktoré nemajú zodpovedajúce záznamy v druhej tabuľke. Najjednoduchší spôsob na identifikovanie takýchto záznamov je Sprievodca vyhľadávacím dotazom pre nezhodné záznamy. Keď Sprievodca vytvorí dotaz, môžete zmeniť jeho návrh a pridať alebo odstrániť polia. Môžete pridať aj spojenia medzi oboma tabuľkami (a označiť polia, ktorých hodnoty by mali byť rovnaké). Vlastný dotaz na vyhľadávanie nezhodných záznamov môžete vytvoriť aj 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.

Poznámka : Sprievodca vyhľadávacím dotazom pre nezhodné záznamy nie je podporovaný vo webových aplikáciách ani webových databázach Accessu.

Obsah článku

Kedy treba vyhľadať nezhodné záznamy?

Na porovnanie dvoch tabuliek použite Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy

Vytvorenie a úprava Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy na porovnanie na základe viacerých polí

Vytvorenie vlastného dotazu na vyhľadanie nezhodných záznamov

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

  1. Na karte Súbor kliknite na položku Nové. Ak používate Access 2007, kliknite na tlačidlo Microsoft Office Obrázok tlačidla Office a potom na položku Nová.

  2. 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.

  3. V časti Miestne šablóny kliknite na položku Northwind 2007 a potom kliknite na položku Vytvoriť.

  4. 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 začiatok stránky

Na porovnanie dvoch tabuliek použite Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy

  1. Na karte Vytvoriť v skupine Dotazy kliknite na položku Sprievodca dotazom. Ak používate Access 2007, kliknite na karte Vytvoriť v skupine Iné na položku Sprievodca dotazom.

    V skupine Dotazy na páse s nástrojmi v Accesse sa zobrazujú dve možnosti: Sprievodca dotazom a Návrh dotazu
  2. V dialógovom okne Nový dotaz dvakrát kliknite na položku Sprievodca vyhľadávacím dotazom pre nezhodné záznamy.

  3. 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.

    Výber tabuľky alebo dotazu v dialógovom okne Sprievodca vyhľadávacím dotazom pre nezhodné záznamy
  4. 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.

    Výber tabuľky alebo dotazu so súvisiacimi záznamami v dialógovom okne Sprievodca vyhľadávacím dotazom pre nezhodné záznamy
  5. 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ýber zhodných polí v tabuľke v dialógovom okne Sprievodca vyhľadávacím dotazom pre nezhodné záznamy

    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.

  6. 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.

    Vyberte polia, ktoré sa majú zobraziť vo výstupe dotazu v dialógovom okne Sprievodca vyhľadávacím dotazom pre nezhodné záznamy
  7. 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ť.

    Zadanie názvu nezhodného dotazu v dialógovom okne Sprievodca vyhľadávacím dotazom pre nezhodné záznamy

    Podľa potreby môžete upraviť návrh svojho dotazu a pridať ďalšie kritériá, zmeniť spôsob zoradenia, prípadne pridať alebo odstrániť polia. Informácie o úprave vyhľadávacieho dotazu pre nezhodné záznamy si môžete prečítať v nasledujúcej časti. Všeobecnejšie informácie o vytváraní a úprave dotazov nájdete medzi prepojeniami v časti Pozrite tiež.

Na začiatok stránky

Vytvorenie a úprava Sprievodcu vyhľadávacím dotazom pre nezhodné záznamy na porovnanie na základe viacerých polí

  1. Na karte Vytvoriť v skupine Dotazy kliknite na položku Sprievodca dotazom. Ak používate Access 2007, kliknite na karte Vytvoriť v skupine Iné na položku Sprievodca dotazom.

  2. V dialógovom okne Nový dotaz dvakrát kliknite na položku Sprievodca vyhľadávacím dotazom pre nezhodné záznamy

  3. 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.

  4. 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.

  5. 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. Z tabuľky Podrobnosti objednávky vyberte zase pole Identifikácia produktu. Skontrolujte text v poli Zodpovedajúce polia a overte, či sú zodpovedajúce polia správne. Po dokončení práce so Sprievodcom môžete spojiť ostatné 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.

  6. 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.

  7. 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í.

  8. 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.

  9. 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.

    Typ spojenia sa označuje štýlom čiary.

    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.

  10. 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.

  11. 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.

  12. Na karte Návrh 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.

Na začiatok stránky

Vytvorenie vlastného dotazu na vyhľadanie nezhodných záznamov

  1. Na karte Vytvoriť kliknite v skupine Dotazy na položku Návrh dotazu. Ak používate Access 2007, kliknite na karte Vytvoriť v skupine Iné na položku Návrh dotazu.

  2. V dialógovom okne Zobrazenie tabuľky 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.

  3. Zatvorte dialógové okno Zobrazenie tabuľky.

  4. 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).

  5. 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.

  6. 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.

  7. 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.

  8. Na karte Návrh kliknite v skupine Výsledky na položku Spustiť.

Na začiatok stránky

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

Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×