Vyhľadanie, skrytie alebo eliminácia duplicitných údajov

Dôležité : Tento článok je strojovo preložený, prečítajte si vyhlásenie. Anglickú verziu tohto článku nájdete tu a môžete ju použiť ako referenciu.

V tomto článku sa vysvetľuje, ako vyhľadať, skryť alebo eliminovať duplicitné údaje pomocou programu Microsoft Office Access 2007. Pravidlom je, že duplicitné hodnoty by ste mali odstrániť vždy, keď je to možné, aby ste znížili náklady a zvýšili presnosť vašich údajov. Office Access 2007 poskytuje niekoľko spôsobov ako vyhľadať, skryť alebo odstrániť duplicitné hodnoty. Tento článok vysvetľuje spôsob použitia najbežnejších metód.

Čo vás zaujíma?

Informácie o duplicitných údajoch

Príprava vzorových údajov

Vyhľadanie a úprava, skrytie alebo odstránenie duplicitných údajov v jednej tabuľke

Vyhľadanie a úprava, skrytie alebo odstránenie duplicitných údajov vo viacerých tabuľkách

Informácie o duplicitných údajoch

Jedným z hlavných dôvodov na používanie relačnej databázy je predchádzanie duplicitným údajom. Napriek tomu databázy po istom čase veľmi často získajú duplicitné hodnoty, najmä vtedy, ak údaje zadávajú viacerí používatelia. Odstránenie duplicitných údajov zvyčajne šetrí peniaze vynakladané na ich ukladanie a zachováva presnosť údajov. Na druhej strane, presnosť údajov vám môže pomôcť robiť lepšie obchodné rozhodnutia. Ak napríklad zadáte predajné objednávky viackrát, zákazník môže dostať nepotrebný tovar a tento nadbytok vás môže stáť peniaze vo forme nákladov na prepravu a vedenie účtovníctva.

Čo v skutočnosti duplicita znamená?

Skôr než pristúpite k identifikácii a odstraňovaniu duplicitných záznamov, pamätajte, že sa musíte spoliehať na svoju znalosť údajov. Na rozdiel od procesu navrhovania databázy nemôžete postupovať podľa istého súboru špecifických pravidiel alebo postupov, ktoré by vám umožnili presné vyhľadanie a odstránenie duplicitných záznamov. Majte na zreteli túto skutočnosť: databázové dotazy môžu vrátiť zdanlivo duplicitné záznamy, v skutočnosti sú však tieto výsledky platnými údajmi. Zdanlivá duplicita je obyčajne dôsledkom toho, že ste do dotazu nezahrnuli polia, ktoré jedinečne identifikujú každý záznam. Ďalšie informácie o vkladaní potrebných polí do dotazu a o predchádzaní nepravým duplicitám nájdete v časti Vysvetlenie, kedy záznamy nie sú duplicitné ďalej v tomto článku.

Tiež musíte pamätať na skutočnosť, že nemôžete odstrániť všetky duplicitné údaje, pretože niektoré duplicity sú potrebné na správne fungovanie databázy. Inými slovami, databázy môžu obsahovať potrebné aj nepotrebné nadbytočnosti, preto by ste mali odstrániť len nepotrebné nadbytočnosti.

Potrebné nadbytočnosti je zvyčajne možné rozdeliť do dvoch kategórií. Prvý typ nadbytočnosti umožňuje fungovanie databázy. Údaje v poli hlavného kľúča napríklad duplikujete vždy, keď medzi tabuľkami potrebujete vytvoriť vzťah „one-to-many“ alebo „many-to-many“.

Druhý typ potrebnej nadbytočnosti vzniká pri používaní databázy. Môžete napríklad opakovane zadať názov mesta, meno dodávateľa alebo bežne rozšírené meno, napríklad John Smith. Keď nastane takáto situácia, nehrozí duplicita údajov, pretože ostatné polia v databáze (napríklad hodnoty hlavného kľúča, adresy alebo poštové smerovacie čísla) budú obsahovať dostatočné množstvo jedinečných informácií na to, aby záznamy neboli považované za duplicitné.

Nepotrebné nadbytočnosti sa môžu vyskytnúť v mnohých situáciách:

  • Dva alebo viaceré záznamy obsahujú duplicitné polia.    Dva záznamy je možné považovať za duplicitné, aj keď nie všetky polia záznamov obsahujú zhodné hodnoty. Na nasledujúcom obrázku môžete napríklad vidieť dva záznamy, ktoré sa týkajú položky Antonio Moreno Taquería.

    Duplicitné záznamy o zákazníkoch v tabuľke Zákazníci

    Aj keď každý záznam má jedinečné ID zákazníka (hodnota v ľavom krajnom stĺpci), hodnoty v poliach Meno, Adresa a Mesto sa zhodujú. V takých prípadoch dokonca aj čiastočná zhoda môže byť dostatočným dôvodom na to, aby ste použili znalosti o svojom podnikaní a skontrolovali, či záznamy nie sú duplicitné.

  • Dve alebo viaceré tabuľky môžu obsahovať podobné údaje.    Môžete napríklad zistiť, že tabuľka Zákazníci aj tabuľka Klienti obsahujú záznamy o rovnakých zákazníkoch.

    Klientmi a zákazníkmi tabuliek s prekrývajúcimi sa údajmi

    Hoci tabuľky môžu mať odlišnú štruktúru, obidve obsahujú rovnaký druh informácií – údaje o zákazníkoch – takže môžete uvažovať nad zlúčením jedinečných (nie duplicitných) hodnôt do jednej tabuľky, čím odstránite nadbytočnú tabuľku.

  • Dve alebo viaceré databázy môžu obsahovať podobné údaje.    Ak zistíte, že dve alebo viaceré databázy obsahujú podobné údaje, alebo ak zdedíte databázu, ktorá sa prekrýva s vašou aktuálnou databázou, musíte porovnať údaje a štruktúru databáz a potom vykonať potrebné kroky na ich zlúčenie.

    Manuálne porovnávanie databáz, dokonca aj malých, nie je jednoduchá úloha. Ak potrebujete pomôcť s porovnávaním, viacerí dodávatelia predávajú nástroje na porovnávanie obsahov a štruktúry databáz programu Access.

Poznámka : Ak podniknete kroky s cieľom odstrániť z tabuliek duplicitné údaje, no duplicitné údaje sa naďalej budú zobrazovať vo formulári alebo zostave, môže to byť spôsobené nesprávnym návrhom formulára alebo zostavy. Skontrolujte, či sú základné tabuľky a zostavy správne spojené a či časti formulára alebo zostavy nezahŕňajú viac ako jeden ovládací prvok, ktorý je viazaný na rovnaký zdroj ovládacích prvkov.

Ďalšie informácie o návrhu zostáv nájdete v článku Úprava alebo zmena zostavy.

Vysvetlenie, kedy záznamy nie sú duplicitné

V niektorých situáciách, napríklad pri prezeraní údajov vrátených dotazom, môžete vidieť zdanlivo duplicitné záznamy napriek tomu, že základné tabuľky obsahujú len jedinečné záznamy. Problémy môžu vzniknúť, keď zobrazenie nezahŕňa polia, ktoré by záznam jednoznačne identifikovali. Nasledujúci obrázok napríklad zobrazuje údaje vrátené dotazom.

Zobrazenie, ktoré nezahŕňa pole, ktoré by mohlo jednoznačne identifikovať záznamy

Niektoré záznamy uvedené v tomto zobrazení sú zdanlivo duplicitné. Ak do dotazu pridáte aspoň jedno dodatočné pole, napríklad mená zákazníkov alebo polia hlavného kľúča pre každú objednávku (ID objednávky), uvidíte, že každý záznam je v skutočnosti jedinečný:

Zobrazenie teraz obsahuje poľu na odstránenie duplicitných záznamov

Pravidlom je, že pri vytváraní dotazu by ste do dotazu mali zahrnúť polia, ktoré jednoznačne identifikujú každý záznam. Túto funkciu obyčajne plní pole hlavného kľúča, môžete však použiť aj kombinácie ostatných polí. V databáze sa napríklad často opakuje bežné meno kontaktu alebo viac inštancií názvu mesta. Ak však do dotazu zahrniete telefónne číslo a adresu, táto kombinácia údajov by mala zabezpečiť jedinečnosť každého záznamu.

Významné faktory pri manipulácii s duplicitami

Spôsob manipulácie s duplicitnými záznamami závisí od viacerých faktorov:

  • Druh a miera duplicity    Sú duplicitné údaje prítomné len v jednej tabuľke, alebo vidíte dve podobné tabuľky (v rovnakej databáze alebo v dvoch odlišných databázach) s prekrývajúcimi sa údajmi? Alebo duplicitné záznamy vidíte v zobrazení, ktoré je založené na dvoch alebo viacerých súvisiacich tabuľkách?

  • Konkrétne požiadavky    Čo chcete urobiť s duplicitnými údajmi? Chcete záznamy odstrániť z databázy, alebo ich len skryť v rámci zobrazenia? Alebo chcete zistiť počet, priemer a súčet hodnôt v duplicitných záznamoch? Je dôležité, ktoré duplicitné záznamy ste odstránili alebo skryli? Ak áno, chcete záznamy revidovať a odstrániť manuálne, alebo chcete tieto záznamy odstrániť na základe podmienky? Predtým, než začnete záznamy odstraňovať, chcete tiež aktualizovať alebo zlúčiť niektoré záznamy?

Odpovede na tieto otázky (alebo tieto typy otázok) a vaše znalosti o údajoch môžu byť nápomocné pri vytváraní plánu na spracovanie nadbytočných údajov.

Všeobecné prípravy na odstránenie duplicít

Ak sa rozhodnete duplicitné záznamy odstrániť, najprv musíte vyriešiť všetky existujúce vzťahy tabuliek. Väčšina databáz zvyčajne používa vzťahy „one-to-many“. Môžete mať napríklad malý počet zákazníkov, ale každý zákazník zadáva veľa objednávok. Výsledkom je, že tabuľka s údajmi o zákazníkoch sa bude nachádzať vo vzťahu na strane „one“ a údaje o objednávkach sa budú nachádzať vo vzťahu na strane „many“.

Pre ďalšiu prácu si osvojte toto pravidlo: ak sa údaje, ktoré chcete odstrániť, nachádzajú vo vzťahu na strane „many“, tieto údaje môžete odstrániť bez toho, že by ste museli vykonať ďalšie kroky. Ak sa však údaje nachádzajú na strane „one“, musíte vo vzťahu nastaviť vlastnosť, inak Access zabráni ich odstráneniu.

Ďalšie informácie o odstraňovaní údajov na strane „one“ nájdete v článku Použitie odstraňovacieho dotazu na odstránenie jedného alebo viacerých záznamov z databázy.

Skôr než začnete s odstraňovaním nadbytočných údajov, pri príprave databázy zvážte použitie jedného alebo viacerých z nasledujúcich postupov:

  • Skontrolujte, či databáza nie je určená iba na čítanie.

  • Overte, či máte potrebné povolenia na úpravu alebo odstránenie záznamov z databázy.

  • Požiadajte ostatných používateľov databázy, aby zatvorili všetky objekty, s ktorými chcete pracovať. Tým sa predíde porušeniam zámku.

    Tip : Ak sa k databáze pripája veľký počet používateľov, možno bude potrebné databázu zatvoriť a opätovne otvoriť vo výhradnom režime. V Accesse kliknite na tlačidlo Microsoft Office Obrázok tlačidla Office a potom na položku Otvoriť. Prejdite na databázu a vyberte ju, kliknite na šípku vedľa tlačidla Otvoriť a potom kliknite na položku Výhradný prístup.

    Otvorenie súboru vo výhradnom režime

  • Pred odstránením záznamov databázu zálohujte. Operáciu odstránenia nie je možné realizovať v obrátenom poradí alebo vrátiť späť. Jediným spôsobom obnovenia odstránených záznamov je obnoviť ich zo záložnej kópie. Operácia odstránenia môže tiež odstrániť záznamy v súvisiacich tabuľkách, takže najlepším spôsobom je zálohovať celú databázu ešte pred spustením operácie.

    Zálohovanie databázy

    1. Kliknite na tlačidlo Microsoft Office Obrázok tlačidla Office , kliknite na šípku vedľa položky Spravovať a potom kliknite na položku Zálohovať databázu.

      Zobrazí sa dialógové okno Uložiť ako a Access k názvu súboru pripojí aktuálny dátum. Ak napríklad máte vytvorenú databázu s názvom Aktíva, Access vytvorí nasledujúci typ názvu súboru: Aktíva_2006-10-29.

    2. Prijmite predvolený názov a umiestnenie alebo vyberte iný názov či umiestnenie. Potom kliknite na tlačidlo Uložiť.

      Access pôvodný súbor zatvorí, vytvorí záložnú kópiu a potom znova otvorí pôvodný súbor.

      Ak sa chcete vrátiť k zálohe, zavrite pôvodný súbor a zmeňte jeho názov, aby ste pre záložnú kópiu mohli použiť názov pôvodnej verzie. Záložnej kópii priraďte názov pôvodnej verzie a otvorte ju v Accesse.

Na začiatok stránky

Príprava vzorových údajov

Postup v nasledujúcich častiach článku poskytuje tabuľky vzorových údajov. V postupe sú použité vzorové tabuľky, ktoré majú pomôcť porozumieť fungovaniu dotazov. Vzorové tabuľky je možné zadať alebo importovať aj do novej či existujúcej databázy.

Access ponúka niekoľko spôsobov pridania týchto vzorových tabuliek do databázy. Údaje môžete zadávať manuálne, každú tabuľku môžete skopírovať do tabuľkového programu (ako napríklad Office Excel 2007) a potom hárky importovať do Accessu. Údaje je tiež možné prilepiť do textového editora, napríklad do programu Poznámkový blok, a potom ich importovať z výsledných textových súborov.

Postup v tejto časti vysvetľuje manuálne zadávanie údajov do prázdneho údajového hárka a tiež kopírovanie vzorových tabuliek do Excelu s následným importovaním týchto tabuliek do Accessu 2007. Ďalšie informácie o vytváraní a importovaní textových údajov nájdete v téme Import údajov alebo prepojenie s údajmi v textovom súbore.

V postupe v tomto článku sú použité nasledujúce tabuľky:

Tabuľka Zákazníci:

Názov spoločnosti

Meno kontaktu

Adresa

Mesto

PSČ

Telefón

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Trebačov

56789

(7) 555-2126

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(078) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fourth Coffee

Reshma Patel

Calle Smith 2

Trebačov

56789

(7) 555-2233

Tabuľka Zamestnanci:

Priezvisko

Meno

Adresa

Mesto

Dátum narodenia

Dátum nástupu

Barnhill

Josh

1 Main St.

New York

05.02.1968

10.06.1994

Heloo

Waleed

52 1st St.

Boston

22.05.1957

22.11.1996

Guido

Pica

3122 75th Ave. S.W.

Seattle

11.11.1960

11.03.2000

Bagel

Jean Philippe

1 Contoso Blvd.

London

22.03.1964

22.06.1998

Price

Julian

Calle Smith 2

Mexico City

05.06.1972

05.01.2002

Hughes

Christine

3122 75th St. S.

Seattle

23.01.1970

23.04.1999

Riley

Steve

67 Big St.

Tampa

14.04.1964

14.10.2004

Birkby

Dana

2 Nosey Pkwy

Portland

29.10.1959

29.03.1997

Bagel

Jean Philippe

1 Contoso Blvd.

London

22.03.1964

20.06.1998

Tabuľka Dlžné čiastky:

Názov spoločnosti

Meno kontaktu

Adresa

Mesto

PSČ

Telefón

Dlžná suma

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

556,78 €

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

1 893,24 €

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

321,79 €

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

457,68 €

Fourth Coffee

Julian Price

Calle Smith 2

Trebačov

56789

(7) 555-2126

98,75 €

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(206) 555-2125

321,79 €

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

297,45 €

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

509,09 €

Fourth Coffee

Reshma Patel

2 Calle Smith

Mexico City

56789

(7) 555-2233

98,75 €

Tabuľka Klienti:

Názov

Adresa

Mesto

Telefón

Fax

Baldwin Museum of Science

Hlavná 1

New York

(505) 555-2122

(505) 555-2122

Blue Yonder Airlines

Pekná 12

Boston

(104) 555-2123

(104) 555-2123

Coho Winery

Trnavská 345

Seattle

(206) 555-2124

(206) 555-2124

Contoso Pharmaceuticals

Višňová 14

London

(171) 555-2125

(171) 555-2125

Fourth Coffee

Stromová 2

Mexico City

(7) 555-2126

(7) 555-2126

Consolidated Messenger

3122 75th St. S.

Seattle

(206) 555-2125

(206) 555-2129

Graphic Design Institute

Osiková 12

Tampa

(916) 555-2128

(916) 555-2128

Litware, Inc.

Mostovská 34

Liptovský Podzámok

(503) 555-2129

(503) 555-2110

Tailspin Toys

Mostovská 35

Liptovský Podzámok

(503) 555-2233

(503) 555-2239

Manuálne zadanie vzorových údajov

  1. Na karte Vytvoriť kliknite v skupine Tabuľky na položku Tabuľka.

    Pridanie aplikácie

    Access pridá do databázy novú prázdnu tabuľku.

    Poznámka : Ak otvárate novú, prázdnu databázu, nie je potrebné vykonať tento krok. Ak však potrebujete pridať tabuľku do databázy, bude potrebné vykonať tento krok.

  2. Dvakrát kliknite na prvú bunku v riadku hlavičky a zadajte názov poľa vo vzorovej tabuľke.

    Access predvolene vkladá do prázdnych polí v riadku hlavičky text Pridať nové pole:

    Nové pole v údajovom hárku

  3. Pomocou klávesov so šípkami sa premiestnite do ďalšej prázdnej bunky hlavičky a potom zadajte názov druhého poľa (môžete stlačiť aj kláves TAB alebo dvakrát kliknúť do novej bunky). Opakujte tento krok, kým nezadáte názvy všetkých polí.

  4. Zadajte údaje do vzorovej tabuľky.

    Počas zadávania údajov Access odvodí typ údajov každého poľa. Ak nemáte skúsenosti s relačnými databázami, pre každé pole v tabuľkách nastavte konkrétny typ údajov, ako napríklad Číslo, Text alebo Dátum a čas. Nastavenie typov údajov umožňuje presne zadať údaje a taktiež pomáha vyhnúť sa chybám, akou je napríklad použitie telefónneho čísla vo výpočte. Pre tieto vzorové tabuľky je vhodné, aby Access typ údajov odvodil.

  5. Po dokončení zadávania údajov kliknite na tlačidlo Uložiť.

    Klávesová skratka: Stlačte kombináciu klávesov CTRL + S.

    Zobrazí sa dialógové okno Uložiť ako.

  6. Do poľa Názov tabuľky zadajte názov vzorovej tabuľky a potom kliknite na tlačidlo OK.

    Používajte názvy vzorových tabuliek, pretože tieto názvy sa používajú aj v dotazoch v častiach s postupmi.

Vytvorenie vzorových hárkov

  1. Spustite tabuľkový program a vytvorte nový, prázdny súbor. Ak použijete Excel, predvolene sa vytvorí nový prázdny zošit.

  2. Z predchádzajúcej časti skopírujte prvú vzorovú tabuľku a prilepte ju do prvého hárka (začnite prvou bunkou).

  3. Pomocou techniky, ktorú poskytuje tabuľkový program, zadajte názov hárka, ktorý by mal byť rovnaký ako názov vzorovej tabuľky. Ak má vzorová tabuľka napríklad názov Kategórie, hárok pomenujte rovnako.

  4. Zopakujte kroky 2 a 3, pričom každú vzorovú tabuľku skopírujte do prázdneho hárka a hárok premenujte.

    Poznámka : Pravdepodobne bude potrebné do súboru s tabuľkovým hárkom pridať ďalšie hárky. Informácie o tejto úlohe nájdete v Pomocníkovi tabuľkového programu.

  5. Zošit uložte na vhodné miesto v počítači alebo v sieti a prejdite na ďalšie kroky postupu.

Vytvorenie databázových tabuliek z hárkov

  1. V novej alebo existujúcej databáze:

    Na karte Externé údaje kliknite v skupine Importovať na položku Excel.

    Pridanie aplikácie

    - alebo -

    Kliknite na položku Ďalšie a potom v zozname vyberte tabuľkový program.

    Zobrazí sa dialógové okno Získať externé údaje – Hárok programu Názov programu.

  2. Kliknite na tlačidlo Prehľadávať, otvorte súbor hárka, ktorý ste vytvorili v predchádzajúcich krokoch, a potom kliknite na tlačidlo OK.

    Spustí sa Sprievodca importovaním z hárka.

  3. Sprievodca predvolene vyberie prvý hárok v zošite (ak ste postupovali podľa krokov uvedených v predchádzajúcej časti, ide o hárok Zákazníci) a údaje z hárka sa zobrazia v dolnej časti strany sprievodcu. Kliknite na tlačidlo Ďalej.

  4. Na ďalšej strane sprievodcu kliknite na položku Prvý riadok obsahuje hlavičky stĺpcov a potom kliknite na tlačidlo Ďalej.

  5. Na ďalšej strane môžete voliteľne použiť textové polia a zoznamy v časti Polia – možnosti na zmenu názvov polí a typov údajov, prípadne na vynechanie polí z procesu importovania. V opačnom prípade kliknite na tlačidlo Ďalej.

  6. Ponechajte vybratú možnosť Hlavný kľúč pridá program Access a potom kliknite na tlačidlo Ďalej.

  7. Access predvolene použije na novú tabuľku názov hárka. Prijmite tento názov alebo zadajte iný názov a potom kliknite na tlačidlo Dokončiť.

  8. Opakujte kroky 1 až 7, až kým z každého hárka v excelovom zošite nevytvoríte tabuľku.

Na začiatok stránky

Vyhľadanie a úprava, skrytie alebo odstránenie duplicitných údajov v jednej tabuľke

Postup uvedený v nasledujúcich častiach vysvetľuje najbežnejšie spôsoby vyhľadania a úpravy, skrytia alebo odstránenia duplicitných hodnôt v jednej tabuľke.

Vyhľadanie záznamov obsahujúcich polia s úplnou alebo čiastočnou zhodou

Zobrazenie jedinečných záznamov skrytím duplicitných položiek

Zobrazenie jednoznačných záznamov zadaním duplicitných položiek, ktoré sa môžu zobraziť vo výsledkoch

Použitie agregačných funkcií (počet, súčet, priemer) v duplicitných záznamoch

Použitie odstraňovacieho dotazu na odstránenie duplicitných záznamov

Ochrana pred zadávaním duplicitných hodnôt zo strany používateľov

Vyhľadanie záznamov obsahujúcich polia s úplnou alebo čiastočnou zhodou

Ak chcete vyhľadať záznamy obsahujúce úplne alebo čiastočne zhodné hodnoty, postupujte podľa týchto krokov:

  • Pomocou Sprievodcu vyhľadávacím dotazom pre duplicitné záznamy vytvorte dotaz. Dotaz predvolene vráti zhodné záznamy len vtedy, ak sa hodnoty v každom poli zhodujú vo všetkých znakoch. Ak potrebujete vyhľadať čiastočne zhodné záznamy, v dotaze môžete použiť výraz, alebo môžete zmeniť kód SQL (Structured Query Language).

  • Pri prezeraní výsledkov dotazu v údajovom zobrazení môžete podľa potreby upraviť hodnoty polí alebo odstrániť záznamy.

  • Voliteľne môžete zmeniť kód SQL (Structured Query Language), čo umožňuje vyhľadať čiastočne zhodné hodnoty. V prípade, že kód SQL nezmeníte, dotaz vráti len tie záznamy, ktoré v konkrétnych poliach obsahujú hodnoty zhodné vo všetkých znakoch.

Postup v tejto časti vysvetľuje, ako vytvoriť dotaz pre duplicitné záznamy, a tiež ako zmeniť dotaz, ak chcete vyhľadať čiastočne zhodné záznamy. V postupe sa používa nasledujúca tabuľka Zákazníci. Ak chcete použiť tabuľku v databáze, pozrite si časť Príprava vzorových údajov vyššie v tomto dokumente. Kroky môžete prispôsobiť tak, aby vyhovovali konkrétnym údajom.

Názov spoločnosti

Meno kontaktu

Adresa

Mesto

PSČ

Telefón

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Trebačov

56789

(7) 555-2126

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(078) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fourth Coffee

Reshma Patel

Calle Smith 2

Trebačov

56789

(7) 555-2233

Vytvorenie dotazu pre duplicitné záznamy

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Sprievodca dotazom.

    Pridanie aplikácie

  2. V dialógovom okne Nový dotaz kliknite na položku Sprievodca vyhľadávacím dotazom pre duplicitné záznamy a potom kliknite na tlačidlo OK.

    Ak sa zobrazí výstražné hlásenie s informáciou, že príslušná funkcia nie je nainštalovaná, kliknutím na položku Áno spustite inštaláciu sprievodcu.

  3. V zozname tabuliek vyberte tabuľku obsahujúcu duplicitné údaje a potom kliknite na tlačidlo Ďalej.

  4. V zozname dostupných polí vyberte len tie polia, ktoré obsahujú duplicitné informácie. Ak používate tabuľku Zákazníci, pridajte len polia Názov spoločnosti, Adresa a Mesto, keďže len tieto polia obsahujú hodnoty zhodné vo všetkých znakoch. Kliknite na tlačidlo Ďalej.

    Poznámka : Ak v tomto kroku pridáte polia, ktoré neobsahujú záznamy zhodné vo všetkých znakoch, dotaz pravdepodobne nevráti žiadne výsledky.

  5. V ďalšom zozname dostupných polí vyberte polia obsahujúce údaje, ktoré chcete skontrolovať alebo aktualizovať, prípadne polia obsahujúce údaje, ktoré môžu byť nápomocné pri rozlíšení duplicitných záznamov od neduplicitných. Ak používate tabuľku Zákazníci, pridajte polia Meno kontaktu a Telefón, pretože údaje uvedené v týchto poliach môžu uľahčiť vyhľadanie duplicitných hodnôt a pravdepodobne tiež pomôcť zistiť, prečo došlo k zadaniu týchto hodnôt. Kliknite na tlačidlo Ďalej.

  6. Prijmite navrhovaný názov (Nájsť duplicitné hodnoty v Zákazníci) alebo zadajte vlastný názov a potom kliknutím na tlačidlo Dokončiť spustite dotaz. Ak ste použili tabuľku Zákazníci, zobrazí sa tento výsledok:

Názov spoločnosti

Adresa

Mesto

Meno kontaktu

Telefón

Fourth Coffee

Stromová 2

Mexico City

Julian Price

(7) 555-2126

Fourth Coffee

Stromová 2

Mexico City

Reshma Patel

(7) 555-2233

  1. Pri vytváraní tabuľky Zákazníci ste si pravdepodobne všimli viac ako dva duplicitné záznamy (tabuľka obsahuje štyri). Ostatné duplicitné záznamy sa nezobrazili, keďže hodnoty v poli Adresa sa nezhodujú vo všetkých znakoch. Dotaz však môžete zmeniť tak, aby vrátil čiastočne zhodné hodnoty – ďalšie kroky vysvetľujú príslušný postup.

Prispôsobenie dotazu pre vyhľadanie čiastočne zhodných záznamov

  1. Dotaz prepnite do zobrazenia SQL. Použite jeden z nasledujúcich postupov:

    • Pravým tlačidlom myši kliknite na kartu dokumentu pre dotaz a kliknite na položku Zobrazenie SQL.

    • Na navigačnej table kliknite pravým tlačidlom myši na daný dotaz a kliknite na možnosť Zobrazenie SQL.

  2. Kód SQL zmeňte tak, aby ste mohli vyhľadať a porovnať čiastočné hodnoty.

    Ak ste v predchádzajúcich krokoch použili tabuľku Zákazníci, zobrazí sa nasledujúci príkaz SQL:

    SELECT Zákazníci.[Názov spoločnosti, Zákazníci.[Adresa], Zákazníci.[Mesto], Zákazníci.[Meno kontaktu], Zákazníci.[Telefón]
    FROM Zákazníci
    WHERE (((Zákazníci.[Názov spoločnosti]) In (SELECT [Názov spoločnosti] FROM [Zákazníci] As Tmp GROUP BY [Názov spoločnosti],[Adresa],[Mesto] HAVING Count(*)>1 And [Adresa] = [Zákazníci].[Adresa] And [Mesto] = [Zákazníci].[Mesto])))
    ORDER BY Zákazníci.[Názov spoločnosti], Zákazníci.[Adresa], Zákazníci.[Mesto];

    V tomto prípade klauzula WHERE používa druhý Príkaz SELECT na porovnanie každého záznamu so všetkými ostatnými záznamami v tabuľke, aby bolo možné identifikovať množiny duplicitných položiek.

    Predpokladajme, že na vyhľadanie čiastočne zhodných záznamov je potrebné zmeniť pole Adresa. Nasledujúca tabuľka zobrazuje, ako treba zmeniť príkaz tak, aby sa v poli muselo zhodovať len prvých sedem znakov. Zmeny sú zobrazené tučným písmom:

Príkaz SQL

Popis

SELECT Zákazníci.[Názov spoločnosti], Zákazníci.[Adresa], Zákazníci.[Mesto], Zákazníci.[Meno kontaktu], Zákazníci.[Telefón]

Bez zmeny. Pre každú množinu duplicitných záznamov chcete zobraziť rovnaké polia vrátane celého poľa Adresa.

FROM Zákazníci

Bez zmeny.

WHERE (((Zákazníci.Názov spoločnosti) In (SELECT [Názov spoločnosti] FROM [Zákazníci] As Tmp GROUP BY [Názov spoločnosti],Left([Adresa],7) ,[Mesto] HAVING

Ak chcete určiť duplicitu, pole ([Adresa]) nahraďte funkciou volania, ktorá pracuje v poli Adresa (Left([Adresa],7)). Táto funkcia otestuje namiesto celej hodnoty poľa len prvých sedem znakov v poli Adresa. Ak chcete porovnať zhodu menšieho počtu znakov, zadajte nižšie číslo. Ak chcete porovnať zhodu väčšieho počtu znakov, zadajte vyššie číslo.

Count(*)>1 And Left([Adresa],7) =Left([Zákazníci].[Adresa],7) And [Mesto] = [Zákazníci].[Mesto])))

Ak chcete porovnať prvých sedem znakov v poli Adresa obsiahnutom v jednom zázname s iným záznamom, položku [Adresa] nahraďte funkciou volania Left([Adresa],7) a položku [Zákazníci].[Adresa] nahraďte funkciou volania Left([Zákazníci].[Adresa],7).

ORDER BY Zákazníci.Názov spoločnosti, Zákazníci.Adresa, Zákazníci.Mesto;

Bez zmeny.

  1. Po vykonaní zmien v príkaze spustite dotaz kliknutím na tlačidlo Spustiť Obrázok tlačidla . Výsledky sa zobrazia v údajovom zobrazení.

    Dotaz teraz vráti všetky štyri duplicitné záznamy, keďže v poli Adresa teraz porovnáva zhodu iba prvých 7 znakov (smerom zľava):

Názov spoločnosti

Adresa

Mesto

Meno kontaktu

Telefón

Coho Winery

Trnavská 345

Seattle

Pica Guido

(206) 555-2124

Coho Winery

3122 75th St. S.W

Seattle

Christine Hughes

(206) 555-2125

Fourth Coffee

Stromová 2

Mexico City

Julian Price

(7) 555-2126

Fourth Coffee

Stromová 2

Mexico City

Reshma Patel

(7) 555-2233

Manuálna úprava záznamov

  1. V údajovom zobrazení otvorte dotaz, ktorý ste vytvorili v rámci predchádzajúcich krokov.

  2. Použite niektorý z nasledujúcich postupov:

    • Ak chcete upraviť hodnotu v poli, vyberte dané pole a zadajte novú hodnotu.

    • Ak chcete odstrániť celý záznam (riadok), kliknite na selektor riadka (prázdne pole vedľa riadka) a stlačte kláves DELETE.

      Poznámka : V prípade, že nájdete veľký počet duplicitných záznamov (viac, než môžete odstrániť manuálne), tieto záznamy môžete odstrániť vytvorením a spustením odstraňovacieho dotazu. Základné kroky používané na vytvorenie a spustenie odstraňovacieho dotazu nájdete v časti Použitie odstraňovacieho dotazu na odstránenie duplicitných záznamov ďalej v tejto téme.

      Podrobnejšie informácie o používaní odstraňovacích dotazov vrátane informácií o plánovaní odstránenia či zmene vzťahu tabuliek a odstránení súvisiacich údajov, nájdete v článku Použitie odstraňovacieho dotazu na odstránenie jedného alebo viacerých záznamov z databázy.

Na začiatok časti

Zobrazenie jedinečných záznamov skrytím duplicitných položiek

Väčšina databázových tabuliek obsahuje pole, ktoré jednoznačne identifikuje každý záznam – obvykle je to pole hlavného kľúča. Keď pri navrhovaní dotazu skryjete alebo vynecháte tieto typy polí, pravdepodobne sa zobrazia zdanlivo duplicitné záznamy, keďže hodnoty vo všetkých vrátených poliach sa zhodujú.

Na tomto obrázku je napríklad znázornený výsledok dotazu, v ktorom sú dve objednávky (v červenom rámčeku) zobrazené ako duplicitné položky.

Dotaz založený na tabuľke Zákazníci, kde dva záznamy, ktoré majú zhodné hodnoty vo všetkých oblastiach

Ak by však dotaz obsahoval pole hlavného kľúča, napríklad identifikáciu objednávky, prípadne iné pole, ktoré by jednoznačne identifikovalo každý záznam, napríklad dátum dodania, záznamy by sa nezobrazili ako duplicitné. Postup v tejto časti vysvetľuje, ako skryť duplicitné záznamy, v ktorých sa zhodujú hodnoty vo všetkých poliach vrátených dotazom. Môžete napríklad skryť jeden zo záznamov pre meno kontaktu Antonio Moreno Taqueria, avšak nemôžete skryť záznamy pre spoločnosť Blauer See Delikatessen, pretože polia Adresa obsahujú rôzne hodnoty.

Pre ďalšiu prácu si osvojte toto pravidlo: Dva alebo viac záznamov je možné pokladať za duplicitné len vtedy, ak všetky polia vo výsledkoch dotazu obsahujú rovnaké hodnoty. Ak sa hodnoty líšia čo len v jednom poli, každý záznam je považovaný za jedinečný a tieto záznamy nemôžete skryť pomocou techník, ktoré uvádzame na tomto mieste. Ak chcete skryť tieto typy duplicitných záznamov, môžete tak urobiť pomocou súhrnného dotazu s agregačnou funkciou, ako napríklad FIRST, MIN, MAX atď. Informácie o tomto postupe nájdete v časti Zobrazenie jednoznačných záznamov zadaním duplicitných položiek, ktoré sa môžu zobraziť vo výsledkoch ďalej v tomto článku.

Access ponúka dva spôsoby ako v množine výsledkov dotazu zobraziť len jedinečné hodnoty:

  • Ak ste skryli pole hlavného kľúča (alebo iné pole, ktoré robí záznam jedinečným), odkryte príslušný stĺpec.

  • Vytvorte výberový dotaz a potom vlastnosť dotazu Jedinečné hodnoty nastavte na možnosť Áno. Ak dotaz vyhľadá duplicitné hodnoty, zobrazí len jednu z týchto duplicitných položiek (prvú, ktorú nájde) a ostatné skryje.

Postup v tejto časti vysvetľuje oba spôsoby.

Zobrazenie skrytých polí

  1. Dotaz musí byť otvorený v údajovom zobrazení. Pravým tlačidlom myši kliknite na ľubovoľné miesto v riadku hlavičky (riadok obsahujúci hlavičky stĺpcov) a kliknite na položku Odkryť stĺpce.

  2. V dialógovom okne Odkrytie stĺpcov začiarknite políčko vedľa každého poľa, ktoré chcete pridať do údajového hárka, a potom kliknite na tlačidlo OK.

Nastavenie vlastnosti Jedinečné hodnoty

Poznámka : Ak ste pre dotaz nastavili vlastnosť Jedinečné hodnoty na možnosť Áno, v údajovom zobrazení dotazu nie je možné upravovať hodnoty polí ani odstraňovať údaje. Ak chcete upraviť alebo odstrániť údaje, otvorte základnú tabuľku v údajovom zobrazení.

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Sprievodca dotazom.

    Pridanie aplikácie

  2. V dialógovom okne Nový dotaz kliknite na položku Sprievodca jednoduchým dotazom a potom kliknite na tlačidlo OK.

    Ak sa zobrazí výstražné hlásenie s informáciou, že príslušná funkcia nie je nainštalovaná, kliknutím na položku Áno spustite inštaláciu sprievodcu.

  3. V zozname tabuliek vyberte tabuľku obsahujúcu duplicitné záznamy a potom kliknite na tlačidlo Ďalej.

  4. V zozname dostupných polí vyberte len tie polia, ktoré obsahujú duplicitné informácie, a potom kliknite na tlačidlo Ďalej.

  5. Znova kliknite na tlačidlo Ďalej bez toho, aby ste vybrali ďalšie polia. Pridanie ďalších polí môže spôsobiť, že Access spracuje niektoré duplicitné záznamy ako jedinečné záznamy.

  6. Prijmite navrhovaný názov dotazu alebo zadajte vlastný názov, kliknite na položku Upraviť návrh dotazu a po kliknutí na tlačidlo Dokončiť sa dotaz otvorí v návrhovom zobrazení.

  7. Pravým tlačidlom myši kliknite na prázdnu oblasť v hornej polovici návrhára dotazov a potom kliknite na položku Vlastnosti.

  8. V hárku vlastností vyhľadajte vlastnosť Jedinečné hodnoty a zmeňte ju na možnosť Áno.

    Zobrazenie hárok vlastností

  9. Kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Výsledky sa zobrazia v údajovom zobrazení. Ak údaje obsahujú duplicitné záznamy, zobrazí sa len jeden z týchto záznamov.

Na začiatok časti

Zobrazenie jednoznačných záznamov zadaním duplicitných položiek, ktoré sa môžu zobraziť vo výsledkoch

V prípade duplicitných záznamov pravdepodobne budete chcieť zobraziť len jednoznačné hodnoty – jeden záznam z každej množiny duplicitných položiek. Ak chcete vytvoriť dotaz na konkrétny duplicitný záznam, použite typ dotazu nazývaný súhrnný dotaz. Keď do súhrnného dotazu pridáte polia, dotaz spracuje každé pole ako skupinu. Pre údaje v skupine môžete potom spustiť typ funkcie nazývaný agregačná funkcia. Na druhej strane tieto funkcie môžu vrátiť jeden záznam z množiny duplicitných položiek.

Súhrnný dotaz a agregačnú funkciu môžete v údajoch použiť niekoľkými spôsobmi:

  • Funkciu First použite, ak chcete zobraziť len ten záznam, ktorý bol zadaný ako prvý.

  • Funkciu Last použite, ak chcete zobraziť len ten záznam, ktorý bol zadaný ako posledný.

  • Funkciu Max alebo Min použite na zobrazenie len toho záznamu, ktorý obsahuje najvyššiu alebo najnižšiu hodnotu v konkrétnom poli. Pomocou funkcie Max môžete napríklad zobraziť záznam s najnovším dátumom, naproti tomu pomocou funkcie Min môžete zobraziť záznam s najstarším dátumom.

    Poznámka : Vo výsledkoch tohto typu dotazu nie je možné upraviť údaje. Ak chcete upraviť alebo odstrániť údaje, otvorte základnú tabuľku v údajovom zobrazení.

Postup v tejto časti vysvetľuje vytvorenie dotazu na pôvodné, najnovšie a najstaršie záznamy. V postupe sa používa tabuľka Zamestnanci.

Priezvisko

Meno

Adresa

Mesto

Dátum narodenia

Dátum nástupu

Barnhill

Josh

1 Main St.

New York

05.02.1968

10.06.1994

Heloo

Waleed

52 1st St.

Boston

22.05.1957

22.11.1996

Guido

Pica

3122 75th Ave. S.W.

Seattle

11.11.1960

11.03.2000

Bagel

Jean Philippe

1 Contoso Blvd.

London

22.03.1964

22.06.1998

Price

Julian

Calle Smith 2

Mexico City

05.06.1972

05.01.2002

Hughes

Christine

3122 75th St. S.

Seattle

23.01.1970

23.04.1999

Riley

Steve

67 Big St.

Tampa

14.04.1964

14.10.2004

Birkby

Dana

2 Nosey Pkwy

Portland

29.10.1959

29.03.1997

Bagel

Jean Philippe

1 Contoso Blvd.

London

22.03.1964

20.06.1998

Ak chcete použiť tabuľku v databáze, pozrite si kroky v časti Príprava vzorových údajov vyššie v tomto článku.

Použitie súhrnného dotazu

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Návrh dotazu.

    Pridanie aplikácie

  2. V dialógovom okne Zobrazenie tabuľky dvakrát kliknite na každú tabuľku, ktorá obsahuje duplicitné údaje, a potom kliknite na tlačidlo Zavrieť.

    Tabuľka sa zobrazí v hornej časti návrhára dotazu.

  3. Pridajte len tie polia, ktoré obsahujú duplicitné údaje. Môžete dvakrát kliknúť na pole alebo ho presunúť z okna tabuľky do riadka Pole v mriežke návrhu.

    Ak používate vzorovú tabuľku Zamestnanci, pridajte polia Priezvisko, Meno a Dátum narodenia, pretože tieto polia určujú duplicitu.

  4. Pridajte pole, ktoré špecifikuje kritériá výberu.

    Vo vzorovej tabuľke Zamestnanci pridajte pole Dátum nástupu, pretože toto pole obsahuje dve rôzne hodnoty pre daného zamestnanca.

    Poznámka : Do mriežky už nepridávajte žiadne ďalšie polia. Súhrnný dotaz musí obsahovať len polia, ktoré obsahujú duplicitné údaje a jedno ďalšie pole obsahujúce údaje určené na použitie v teste.

  5. Na karte Návrh v skupine Zobraziť alebo skryť kliknite na položku Súčty Obrázok tlačidla . V mriežke návrhu sa zobrazí riadok Celkom a v stĺpcoch, ktoré obsahujú pole tabuľky, sa zobrazí položka Group By.

  6. Pre všetky polia ponechajte nastavenie riadka Celkom na možnosti Group by a potom kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Výsledky sa zobrazia v údajovom zobrazení. Ak ste použili údaje z vyššie uvedenej tabuľky, dotaz vráti položku „Jean Philippe Bagel“ dvakrát, pretože príslušné duplicitné záznamy obsahujú rôzne dátumy nástupu.

  7. Vráťte sa späť do návrhového zobrazenia a zadajte podmienku na výber jedného záznamu z duplicitných položiek. Ak chcete použiť vzorové údaje, zmeňte hodnotu v stĺpci Dátum nástupu v riadku Celkom tak, ako je uvedené nižšie:

    • Ak chcete zobraziť pôvodný záznam, zmeňte hodnotu na možnosť First.

    • Ak chcete zobraziť naposledy zadaný záznam, zmeňte hodnotu na možnosť Last.

    • Ak chcete vybrať záznam na základe hodnoty v konkrétnom poli, musíte použiť funkciu Max alebo Min. V tomto príklade chcete zobraziť záznam s najstarším dátumom nástupu. Preto je potrebné zmeniť hodnotu na možnosť Min.

  8. Kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz Výsledky sa zobrazia v údajovom zobrazení.

Ak dotaz vráti požadované výsledky, môžete ho potom zmeniť na odstraňovací dotaz. Jeho spustenie umožňuje rýchlo a jednoducho odstrániť duplicitné záznamy. Informácie o spustení odstraňovacieho dotazu nájdete v časti Použitie odstraňovacieho dotazu na odstránenie duplicitných záznamov ďalej v tomto článku.

Na začiatok časti

Použitie agregačných funkcií (počet, súčet, priemer) v duplicitných záznamoch

Okrem vyhľadania konkrétneho záznamu zo skupiny duplicitných záznamov môžete agregačné funkcie použiť na zistenie počtu duplicitných záznamov alebo na zhrnutie údajov pre množinu duplicitných položiek. Zvyčajne je tieto funkcie potrebné spustiť skôr, než podniknete kroky na zlúčenie alebo odstránenie duplicitných údajov.

Tieto úlohy môžete vykonať vytvorením súhrnného dotazu, ktorý na vytvorenie súhrnu duplicitných údajov vo forme tabuľky používa agregačné funkcie, ako napríklad Count, Sum a Avg.

Poznámka : Pri zobrazení súhrnného dotazu v údajovom zobrazení nie je možné upraviť hodnoty polí ani odstrániť záznamy. Ak chcete upraviť alebo odstrániť údaje, otvorte základnú tabuľku v údajovom zobrazení.

Postup v tejto časti využíva tabuľku Dlžné čiastky.

Názov spoločnosti

Meno kontaktu

Adresa

Mesto

PSČ

Telefón

Dlžná suma

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

556,78 €

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

1 893,24 €

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

321,79 €

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

457,68 €

Fourth Coffee

Julian Price

Calle Smith 2

Trebačov

56789

(7) 555-2126

98,75 €

Coho Winery

Christine Hughes

3122 75th St. S.

Seattle

34567

(206) 555-2125

321,79 €

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

297,45 €

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

509,09 €

Fourth Coffee

Reshma Patel

2 Calle Smith

Mexico City

56789

(7) 555-2233

98,75 €

Ak chcete použiť tabuľku v databáze, pozrite si kroky v časti Príprava vzorových údajov vyššie v tomto článku.

Vytvorenie súhrnného dotazu

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Návrh dotazu.

    Pridanie aplikácie

  2. V dialógovom okne Zobrazenie tabuľky dvakrát kliknite na tabuľku, ktorú chcete v dotaze použiť, alebo kliknite na položku Pridať. Potom kliknutím na položku Zavrieť dialógové okno zavrite. Ak používate vzorové údaje, do dotazu pridajte tabuľku s názvom Dlžné čiastky.

  3. Pridajte polia, ktoré obsahujú duplicitné údaje.

    Ak používate tabuľku Dlžné čiastky, pridajte polia Názov spoločnosti a Mesto, keďže tieto polia určujú duplicitu.

  4. Pridajte pole, ktoré poskytuje kritériá výberu. Ak používate tabuľku Dlžné čiastky, pridajte pole Dlžná suma.

  5. Na karte Návrh v skupine Zobraziť alebo skryť kliknite na položku Súčty Obrázok tlačidla . V mriežke návrhu sa zobrazí riadok Celkom a v riadku pre každé pole sa zobrazí položka Group By.

  6. V závislosti od svojich požiadaviek použite niektorý z týchto postupov:

    • Ak chcete zistiť počet záznamov, vyberte pole obsahujúce hodnoty, ktoré chcete spočítať, a potom zmeňte hodnotu v poli v riadku Celkom na možnosť Count. Ak používate vzorové údaje, nastavte hodnotu v poli Dlžná suma na možnosť Count.

    • Ak chcete vypočítať celkovú sumu, nastavte hodnotu v poli na možnosť Sum.

      Poznámka : Súhrnný dotaz môže zobraziť len súhrnné informácie. Jednotlivé hodnoty nie je možné zobraziť.

  7. Kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Výsledky sa zobrazia v údajovom zobrazení.

Na začiatok časti

Použitie odstraňovacieho dotazu na odstránenie duplicitných záznamov

Po potvrdení, že tabuľka obsahuje duplicitné záznamy, môžete nechcené údaje odstrániť tak, že vytvoríte a spustíte odstraňovací dotaz. Na vytvorenie a spustenie odstraňovacieho dotazu je zvyčajne potrebné postupovať podľa týchto krokov:

  • Naplánujte odstránenie. Ako súčasť tohto procesu je potrebné zistiť, či údaje, ktoré chcete odstrániť, nesúvisia s údajmi v inej tabuľke. Ak áno, je potrebné určiť, či sa údaje nachádzajú vo vzťahu „one-to-many“ na strane „one“ alebo na strane „many“. Ak sa údaje nachádzajú na strane „one“, musíte pred odstránením údajov vo vzťahu povoliť vlastnosť. Ak sa údaje nachádzajú na strane „many“, dotaz môžete vytvoriť a spustiť bez toho, aby ste museli vykonať túto doplňujúcu akciu. Na skúmanie vzťahov v databáze môžete použiť nástroj Vzťahy. Ak chcete spustiť nástroj Vzťahy, na karte Databázové nástroje v skupine Zobraziť alebo skryť kliknite na položku Vzťahy.

    Ďalšie informácie o plánovaní a spustení odstraňovacích dotazov nájdete v článku Použitie odstraňovacieho dotazu na odstránenie jedného alebo viacerých záznamov z databázy.

  • Vytvorte dotaz, napríklad výberový dotaz alebo dotaz jedinečných hodnôt, a pridávajte alebo meňte ľubovoľné kritériá, pokým dotaz nevráti len tie údaje, ktoré chcete odstrániť.

  • Skonvertujte tento dotaz na odstraňovací dotaz a potom spustením odstraňovacieho dotazu odstráňte nechcené údaje.

Dôležité : Výsledky odstraňovacieho dotazu nie je možné vrátiť späť. Z toho dôvodu by ste mali databázu pred spustením odstraňovacieho dotazu zálohovať. Informácie o zálohovaní databázy nájdete v časti Zálohovanie databázy vyššie v tomto článku.

Nasledujúci postup vysvetľuje spôsob vytvorenia výberového dotazu, jeho skonvertovanie na odstraňovací dotaz a spustenie s cieľom odstrániť záznamy.

Vytvorenie výberového dotazu

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Návrh dotazu.

    Pridanie aplikácie

    Otvorí sa návrhár dotazov a zobrazí sa dialógové okno Zobrazenie tabuľky.

  2. Vyberte tabuľku na strane vzťahu „one“, kliknite na tlačidlo Pridať a potom na tlačidlo Zavrieť.

    Tabuľka sa zobrazí ako okno v hornej časti mriežky návrhu dotazu. Okno obsahuje všetky polia tabuľky. Nasledujúci obrázok znázorňuje typickú tabuľku v návrhárovi dotazu.

    Tabuľka v návrhárovi dotazu

  3. Dvakrát kliknite na hviezdičku (*), čím pridáte všetky polia v tabuľke do mriežky návrhu.

    Pridanie všetkých polí umožňuje odstraňovaciemu dotazu odstrániť z tabuľky celé záznamy (riadky).

  4. Voliteľne môžete pridať stĺpec, ktorý umožňuje zadať kritériá.

    Predpokladajme, že zákazník prestane podnikať a je potrebné odstrániť všetky čakajúce objednávky tohto zákazníka. Na vyhľadanie práve týchto záznamov pridajte do mriežky návrhu polia ID zákazníka a Dátum objednávky.

  5. Ak ste vykonali predchádzajúci krok, zadajte kritériá do riadka Kritériá v mriežke návrhu.

    Použite kritériá, ktoré vrátia len tie záznamy, ktoré chcete odstrániť. V opačnom prípade odstraňovací dotaz odstráni všetky záznamy v tabuľke. Ak chcete pokračovať v príklade z predchádzajúceho kroku, zadajte identifikačné číslo zákazníka, ktorý prestal podnikať, a dátum, kedy sa objednávky tohto zákazníka stali neplatnými.

    Ďalšie informácie o použití kritérií nájdete v článku Použitie odstraňovacieho dotazu na odstránenie jedného alebo viacerých záznamov z databázy.

  6. Ak ste vykonali predchádzajúci krok, pre každé pole s kritériom zrušte začiarknutie políčka Zobraziť.

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

    Skontrolujte, či dotaz vracia záznamy, ktoré chcete odstrániť.

  8. Ponechajte dotaz otvorený a prejdite na ďalšie kroky.

Skonvertovanie výberového dotazu na odstraňovací dotaz a spustenie dotazu s cieľom odstrániť údaje

  1. Kliknutím na položku Návrhové zobrazenie prepnite z údajového hárka na návrhára dotazov.

  2. Na karte Návrh kliknite v skupine Typ dotazu na položku Odstraňovací.

    Access zmení výberový dotaz na odstraňovací dotaz, skryje riadok Zobraziť v dolnej časti mriežky návrhu a pridá riadok Odstrániť.

    Uistite sa, že riadok Odstrániť v stĺpci * (všetky polia) zobrazuje položku Z. Slovo Kde sa má zobrazovať v stĺpcoch kritérií.

  3. Ubezpečte sa, že chcete odstrániť práve tieto údaje, a kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Výsledky sa zobrazia v údajovom zobrazení.

    Access zobrazí výzvu na potvrdenie odstránenia.

    Kliknutím na tlačidlo Áno údaje odstránite.

Skrytie potvrdzujúceho hlásenia

Tento postup použite, ak nechcete, aby sa pri každom spustení odstraňovacieho dotazu alebo iného akčného dotazu zobrazovalo potvrdzujúce hlásenie.

  • Kliknite na tlačidlo Microsoft Office Obrázok tlačidla Office a potom kliknite na položku Možnosti programu Access.

    Zobrazí sa dialógové okno Access – možnosti.

  • Kliknite na kartu Spresnenie a v časti Úpravy pod položkou Potvrdenie zrušte začiarknutie políčka Akčné dotazy.

  • Kliknutím na tlačidlo OK zavrite dialógové okno Access – možnosti.

Na začiatok časti

Ochrana pred zadávaním duplicitných hodnôt zo strany používateľov

Používateľom môžete zabrániť v zadávaní duplicitných údajov tak, že vynútite niekoľko pravidiel:

  • Nastavte pole tak, aby obsahovalo len jedinečné hodnoty.    Ak chcete implementovať toto pravidlo, použite niektorý z nasledujúcich postupov:

    • Pole označte ako hlavný kľúč. Môžete to urobiť len vtedy, ak tabuľka ešte neobsahuje hlavný kľúč. Ak chcete nastaviť pole ako hlavný kľúč, otvorte tabuľku v návrhovom zobrazení, kliknite pravým tlačidlom myši na položku Názov poľa a potom kliknite na možnosť Hlavný kľúč Vzhľad tlačidla . Pole hlavného kľúča akceptuje iba jedinečné hodnoty a pri zadaní duplicitnej hodnoty zo strany používateľov zobrazí výzvu.

    • V prípade, že tabuľka už obsahuje hlavný kľúč, v návrhovom zobrazení tabuľky nastavte vlastnosť poľa Indexované na možnosť Áno (bez duplicít). Táto vlastnosť zabráni, aby pole akceptovalo rovnakú hodnotu pre väčší počet záznamov ako jeden. Pamätajte, že v niektorých prípadoch, ako sú napríklad polia obsahujúce informácie o mene alebo meste, musíte duplicity akceptovať.

  • Špecifikujte, že kombinácia hodnôt v dvoch alebo viacerých poliach musí byť pre každý záznam jedinečná.    Predpokladajme napríklad, že máte tabuľku s kontaktnými údajmi. V takom prípade môžete určiť kombináciu polí, napríklad Meno kontaktu, Adresa a Mesto, ako hlavný kľúč pre danú tabuľku.

    Tento postup funguje, pretože je vysoko nepravdepodobné, že dva kontakty s rovnakým názvom budú zdieľať aj rovnakú adresu a mesto.

    Ak chcete vytvoriť hlavný kľúč s viacerými poľami, postupujte nasledovne:

    1. Otvorte tabuľku v návrhovom zobrazení.

    2. Kliknutím na selektor riadka naľavo od prvého poľa vyberte celý riadok.

    3. Podržte stlačený kláves CTRL a kliknite na selektor riadka pre ostatné polia, ktoré chcete zahrnúť do hlavného kľúča.

    4. Kliknite naň pravým tlačidlom myši a potom v kontextovej ponuke kliknite na položku Hlavný kľúč Vzhľad tlačidla .

      Týmto krokom pre každé pole v hlavnom kľúči nastavíte vlastnosť Indexované na možnosť Áno (duplicity povolené). Znamená to, že vo viacerých záznamoch môžete zadať rovnaké meno alebo adresu alebo mesto, ale rovnakú kombináciu mena, adresy a mesta môžete zadať len v jednom zázname. Môžete mať napríklad dva kontakty obsahujúce meno Jean Philippe Bagel s bydliskom na adrese 2345 Main Street, avšak obaja nemôžu bývať v Londýne.

Na začiatok časti

Na začiatok stránky

Vyhľadanie a úprava, skrytie alebo odstránenie duplicitných údajov vo viacerých tabuľkách

Informácie v nasledujúcich častiach vysvetľujú niektoré spôsoby vyhľadania a úpravy, skrytia alebo odstránenia duplicitných záznamov, ktoré existujú vo viacerých tabuľkách. Údaje obsiahnuté v dvoch alebo viacerých tabuľkách sa pri pokuse o integráciu jednej databázy s druhou zvyčajne prekrývajú.

Zobrazenie duplicitných položiek ako susediacich, ak existujú v dvoch tabuľkách

Zobrazenie len jedného záznamu, ak duplicitné položky existujú v dvoch tabuľkách

Zobrazenie len duplicitných záznamov nájdených v oboch tabuľkách

Zobrazenie len tých záznamov v jednej tabuľke, ktoré nemajú zodpovedajúci záznam v inej tabuľke

Odstránenie duplicitných záznamov z jednej tabuľky a zlúčenie zostávajúcich záznamov do ďalšej tabuľky

Zobrazenie len jednoznačných záznamov pri zobrazení údajov zo súvisiacich tabuliek

Zobrazenie konkrétneho záznamu alebo vytvorenie súhrnu duplicitných údajov obsiahnutých v súvisiacich tabuľkách

Zobrazenie duplicitných položiek ako susediacich, ak existujú v dvoch tabuľkách

V mnohých prípadoch sa v rovnakej databáze vyskytujú len dve tabuľky, ktoré obsahujú duplicitné alebo prekrývajúce sa údaje. Predpokladajme napríklad, že máte tabuľku Klienti a tabuľku Zákazníci:

Tabuľka Klienti   

Názov

Adresa

Mesto

Telefón

Fax

Baldwin Museum of Science

Hlavná 1

New York

(505) 555-2122

(505) 555-3123

Blue Yonder Airlines

Pekná 12

Boston

(104) 555-2123

(104) 555-2124

Coho Winery

Trnavská 345

Seattle

(206) 555-2124

(206) 555-2125

Contoso Pharmaceuticals

Višňová 14

London

(171) 555-2125

(171) 555-2126

Fourth Coffee

Stromová 2

Mexico City

(7) 555-2126

(7) 555-2127

Consolidated Messenger

3122 75th St. S.

Seattle

(206) 555-2125

(206) 555-2129

Graphic Design Institute

Osiková 12

Tampa

(916) 555-2128

(916) 555-2128

Litware, Inc.

Mostovská 34

Liptovský Podzámok

(503) 555-2129

(503) 555-2110

Tailspin Toys

Mostovská 35

Liptovský Podzámok

(503) 555-2233

(503) 555-2239

Tabuľka Zákazníci   

Názov spoločnosti

Meno kontaktu

Adresa

Mesto

PSČ

Telefón

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Trebačov

56789

(7) 555-2126

Adventure Works

Christine Hughes

3122 87th Way S.W.

Seattle

34567

(078) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fabrikam, Inc.

Jesper Aaberg

9 Empire Way

Seattle

56789

(206) 555-2233

Všimnite si, že v tomto prípade jednotlivé tabuľky neobsahujú duplicitné hodnoty, avšak polia v oboch tabuľkách obsahujú prekrývajúce sa hodnoty, ako sú napríklad údaje v poli Názov v tabuľke Klienti a údaje v poli Názov spoločnosti v tabuľke Zákazníci.

Údaje v jednotlivých tabuľkách nie je možné vždy integrovať zlúčením dvoch tabuliek. Pre niektorých zákazníkov môže tabuľka klienti obsahovať najnovšie informácie, ale tabuľka Zákazníci môže obsahovať najnovšie údaje pre ostatných používateľov. Najlepším riešením obyčajne býva skontrolovať obsah obidvoch tabuliek a potom sa rozhodnúť, ktorú tabuľku zachovať a ktorú odstrániť.

Ak chcete zlúčiť záznamy z oboch tabuliek, môžete vytvoriť zjednocovací dotaz. Tento dotaz umiestni duplicitné záznamy vedľa seba, čím sa zjednoduší ich revízia.

Poznámka : Údaje vrátené zjednocovacím dotazom nie je možné upraviť ani odstrániť. Ak chcete upraviť alebo odstrániť údaje, otvorte základné tabuľky v údajovom zobrazení.

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Návrh dotazu.

    Pridanie aplikácie

    Access vytvorí nový dotaz. Zobrazí sa dialógové okno Zobrazenie tabuľky.

  2. Dialógové okno Zobrazenie tabuľky zatvorte bez pridania tabuliek alebo dotazov do mriežky návrhu.

  3. Pravým tlačidlom myši kliknite na kartu dokumentu pre dotaz a kliknite na položku Zobrazenie SQL.

  4. Ak ste ako príklad použili predchádzajúce tabuľky, do okna prilepte nasledujúci príkaz SQL. Ak používate vlastné údaje, použite nasledujúci príkaz ako vzor. Klauzuly SELECT, UNION ALL SELECT a ORDER BY použite tak, ako je uvedené, avšak názvy polí a tabuliek nahraďte vlastnými údajmi.

    SELECT [Názov spoločnosti], [Adresa], [Mesto], [Telefón], FROM [Zákazníci]
    UNION ALL SELECT [Názov], [Adresa], [Mesto], [Telefón], FROM [Klienti]
    ORDER BY [Názov spoločnosti];

    Prvý príkaz SELECT načíta záznamy z tabuľky Zákazníci, druhý príkaz SELECT načíta záznamy z tabuľky Klienti. Klauzula UNION ALL zlúči všetky záznamy obsiahnuté v oboch tabuľkách. Príkaz ORDER BY zoradí záznamy tak, že duplicitné záznamy sú umiestnené spolu, čím sa zjednodušuje revízia údajov.

    Poznámka : Každý príkaz SELECT musí vrátiť rovnaký počet polí v rovnakom poradí. Zodpovedajúce polia sú nevyhnutné na získanie kompatibilných typov údajov, až na jednu výnimku: polia typu Číslo a Text môžete použiť ako zodpovedajúce polia. Nezabudnite tiež na skutočnosť, že názvy polí sa môžu líšiť.

  5. Kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Výsledky sa zobrazia v údajovom zobrazení.

    Ak používate záznamy z tabuliek vyššie, zobrazenie bude obsahovať 18 záznamov – všetkých 9 záznamov z tabuľky Zákazníci a všetkých 9 záznamov z tabuľky Klienti.

    Dotaz uložte a potom zobrazenie zavrite. Tento dotaz budete používať v ďalšej časti.

Na začiatok časti

Zobrazenie len jedného záznamu, ak duplicitné položky existujú v dvoch tabuľkách

Niekedy možno budete potrebovať zobraziť len jednoznačné záznamy obsiahnuté v dvoch podobných tabuľkách. Ak záznam existuje v dvoch tabuľkách, môžete zahrnúť záznam z prvej tabuľky a ignorovať zodpovedajúci záznam uvedený v druhej tabuľke.

Access spracuje záznamy z rôznych tabuliek ako duplicitné položky len vtedy, ak sa hodnoty vo všetkých vybratých poliach zhodujú. Ak napríklad do dotazu zahrniete polia Názov spoločnosti, Mesto, Adresa, Telefón a Fax, hodnoty uvedené vo všetkých piatich poliach sa musia zhodovať, ak má Access spracovať záznam ako duplicitu.

Postup v tejto časti vysvetľuje, ako zmeniť dotaz z predchádzajúcej časti tak, aby sa zobrazili všetky záznamy uvedené v tabuľke Zákazníci a len jedinečné záznamy z tabuľky Klienti.

Poznámka : Údaje vrátené zjednocovacím dotazom nie je možné upraviť. Ak chcete upraviť alebo odstrániť údaje, otvorte základné tabuľky v údajovom zobrazení.

Úprava dotazu

  1. Otvorte dotaz, ktorý ste vytvorili v predchádzajúcej časti.

  2. Na karte dokumentu pre dotaz kliknutím na položku Zobrazenie SQL zobrazte príkaz SQL.

  3. Z obidvoch príkazov SELECT odstráňte polia [Telefón].

  4. Odstráňte slovo ALL, ktoré nasleduje za slovom UNION. Dotaz bude následne ignorovať duplicitné záznamy z tabuľky Klienti. Príkaz SQL bude vyzerať takto:

    SELECT [Názov spoločnosti], [Adresa], [Mesto], FROM [Zákazníci]
    UNION SELECT [Názov], [ Adresa], [Mesto], FROM [Klienti]
    ORDER BY [Názov spoločnosti];

  5. Kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Výsledky sa zobrazia v údajovom zobrazení.

    Ak použijete vzorové údaje z predchádzajúcej časti, dotaz namiesto 18 záznamov vráti len 14.

Na začiatok časti

Zobrazenie len duplicitných záznamov nájdených v oboch tabuľkách

V prípade, že potrebujete vytvoriť dotaz len pre zhodné hodnoty obsiahnuté v dvoch tabuľkách, použite vnútorné spojenie. Ak s Accessom nemáte skúsenosti, vnútorné spojenie je operácia, ktorá vytvorí spojenie medzi riadkami v dvoch alebo viacerých tabuľkách len vtedy, ak sa hodnoty obsiahnuté v spojených poliach zhodujú.

Vnútorné spojenie vytvoríte zostavením výberového dotazu, ktorý zahŕňa obidve tabuľky, a následným vytvorením vzťahu medzi poľami, ktoré obsahujú duplicitné hodnoty. Access predvolene vytvorí vnútorné spojenie vtedy, keď vytvoríte daný vzťah.

Poznámka : Polia alebo riadky vrátené výberovým dotazom s vnútorným spojením nie je možné upraviť. Ak chcete upraviť údaje, otvorte základné tabuľky a zmeňte príslušné hodnoty v každej tabuľke.

Vytvorenie dotazu s vnútorným spojením

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Návrh dotazu.

    Pridanie aplikácie

  2. V dialógovom okne Zobrazenie tabuľky dvakrát kliknite na tabuľku Zákazníci a na tabuľku Klienti a potom kliknutím na tlačidlo Zavrieť dialógové okno zavrite.

  3. Identifikujte polia, ktoré v duplicitných záznamoch obsahujú zhodné hodnoty. Ak používate vzorové tabuľky, pole Názov spoločnosti v tabuľke Zákazníci zodpovedá poľu Názov v tabuľke Klienti.

  4. Presuňte pole Názov spoločnosti z prvej tabuľky na pole Názov v druhej tabuľke. Access spojí tieto polia čiarou.

    Čiara medzi tabuľkami, ktorá označuje, že tabuľky Zákazníci a klienti sú prepojené na základe názvov zákazníkov

    Dotaz predvolene vytvorí medzi dvoma tabuľkami vnútorné spojenie. Vnútorné spojenie vyberie len tie záznamy, v ktorých sa pole Názov spoločnosti zhoduje s poľom Názov.

  5. Dvojitým kliknutím na pole Názov spoločnosti pridajte toto pole do mriežky návrhu dotazu. Toto pole zjednoduší identifikáciu záznamov v údajovom zobrazení.

  6. Dvakrát kliknite na ďalšie polia, ktoré chcete z tabuliek Zákazníci a Klienti pridať do mriežky návrhu dotazu. V tomto prípade pridajte pole Telefón z tabuľky Zákazníci a pole Telefón z tabuľky Klienti.

  7. Kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Výsledky sa zobrazia v údajovom zobrazení. Dotaz vráti päť záznamov, jeden pre každého zákazníka so záznamom v oboch tabuľkách.

Názov spoločnosti

Telefón (Zákazníci)

Telefón (Klienti)

Baldwin Museum of Science

(505) 555-2122

(505) 555-3123

Blue Yonder Airlines

(104) 555-2123

(104) 555-2124

Coho Winery

(206) 555-2124

(206) 555-2124

Contoso Pharmaceuticals

(171) 555-2125

(171) 555-2125

Fourth Coffee

(7) 555-2126

(7) 555-2126

Na začiatok časti

Zobrazenie len tých záznamov v jednej tabuľke, ktoré nemajú zodpovedajúci záznam v inej tabuľke

Pokračujme v scenári, kedy tabuľka Zákazníci a tabuľka Klienti obsahujú duplicitné údaje. Teraz uvidíte, čo je potrebné urobiť, aby sa zobrazili tie záznamy z tabuľky Zákazníci, ktoré nemajú duplicitný záznam v tabuľke Klienti. Tento postup môže byť užitočný pri rozhodovaní o niektorých zákazníkoch, a to na základe obsahu samotnej tabuľky Zákazníci, ešte predtým, než podniknete kroky na zlúčenie týchto dvoch tabuliek.

Vytvorením vyhľadávacieho dotazu pre nezhodné záznamy môžete zobraziť len tie záznamy v tabuľke Zákazníci, ktoré nemajú zodpovedajúci záznam v tabuľke Klienti. Pri použití vzorových údajov tento typ dotazu načíta všetky záznamy z tabuľky Zákazníci, ktoré nemajú zodpovedajúci záznam v tabuľke Klienti.

Poznámka : Pri zobrazení tohto dotazu v údajovom zobrazení je možné upraviť hodnoty polí alebo odstrániť záznamy.

Vytvorenie vyhľadávacieho dotazu pre nezhodné záznamy

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Sprievodca dotazom.

    Pridanie aplikácie

  2. V dialógovom okne Nový dotaz kliknite na položku Sprievodca vyhľadávacím dotazom pre nezhodné záznamy a potom kliknite na tlačidlo OK.

  3. Kliknite na tabuľku Zákazníci – obsahuje záznamy, ktoré vás zaujímajú. Kliknite na tlačidlo Ďalej.

  4. Kliknite na tabuľku Klienti – toto je tabuľka, ktorú chcete porovnať s tabuľkou Zákazníci. Kliknite na tlačidlo Ďalej.

  5. V tabuľke Zákazníci kliknite na pole Názov spoločnosti, v tabuľke Klienti kliknite na pole Názov a potom kliknite na tlačidlo <=>. Týmto vytvoríte spojenie medzi tabuľkami na základe názvov zákazníkov. Kliknite na tlačidlo Ďalej.

  6. Vyberte polia, ktoré sa majú zobraziť v zobrazení. V tomto prípade pridajte polia Názov spoločnosti, Adresa, Mesto a Telefón. Kliknite na tlačidlo Ďalej.

  7. Zadajte názov dotazu a kliknite na tlačidlo Dokončiť. Záznamy sa zobrazia v údajovom zobrazení. Ak používate vzorové tabuľky, dotaz vráti štyri záznamy – v tomto prípade sú to záznamy z tabuľky Zákazníci, ktoré nemajú prekrývajúci sa záznam v tabuľke Klienti.

Názov spoločnosti

Adresa

Mesto

Telefón

Adventure Works

3122 87th Way S.W.

Seattle

(206) 555-2125

Humongous Insurance

67 Big St.

Tampa

(916) 555-2128

Trey Research

2 Nosey Pkwy

Portland

(503) 555-2129

Fabrikam, Inc.

9 Empire Way

Seattle

(206) 555-2233

Na začiatok časti

Odstránenie duplicitných záznamov z jednej tabuľky a zlúčenie zostávajúcich záznamov do ďalšej tabuľky

Po vykonaní revízie duplicitných údajov v podobných tabuľkách môžete duplicitné záznamy odstrániť a zostávajúce údaje zlúčiť do jednej tabuľky. Tento proces pozostáva z nasledujúcich krokov:

  • Voliteľne môžete v tabuľke, ktorú chcete odstrániť, aktualizovať údaje, ktoré chcete zlúčiť. Vysvetlenie možností aktualizácie údajov nie je predmetom tejto témy.

    Informácie o spôsoboch aktualizácie údajov nájdete v článku Aktualizácia údajov v databáze.

  • Voliteľne môžete skontrolovať všetky vzťahy, ktoré môžu existovať medzi tabuľkou, ktorú chcete odstrániť, a ostatnými tabuľkami v databáze. Ak existuje nejaký vzťah, zvyčajne je potrebné tento vzťah odstrániť a následne vytvoriť nový vzťah s inou tabuľkou (t.j. tabuľkou obsahujúcou zlúčené údaje). Musíte však zabezpečiť, aby sa hodnoty hlavného kľúča v novej tabuľke zhodovali s hodnotami hlavného kľúča v ostatných tabuľkách.

  • Na vyhľadanie a odstránenie zhodných záznamov vytvorte odstraňovací dotaz, ktorý bude používať vlastnosť Jedinečné hodnoty. Zároveň musíte zabezpečiť, aby sa nenarušili vzťahy medzi tabuľkami v databáze. Predpokladajme napríklad, že chcete premiestniť všetky jedinečné záznamy z tabuľky Klienti do tabuľky Zákazníci a potom tabuľku Klienti odstrániť. Ak tabuľka Klienti súvisí s ďalšími tabuľkami v databáze, musíte vykonať kroky s cieľom zabezpečiť, aby tabuľka Zákazníci prevzala tieto vzťahy. Úplné vysvetlenie vzťahov nie je predmetom tejto témy.

    Ďalšie informácie nájdete v článku Vytvorenie, úprava alebo odstránenie vzťahu.

  • Vytvorte pripájací dotaz, ktorým pridáte zostávajúce záznamy z tabuľky určenej na odstránenie do tabuľky, ktorú chcete zachovať. V rámci tohto postupu bude pravdepodobne potrebné pridať pole a hodnoty hlavného kľúča pre pripojené údaje k tabuľke, ktorú chcete zachovať.

  • Odstráňte nechcenú tabuľku.

Postup v tejto časti vysvetľuje, ako vytvoriť a použiť odstraňovací dotaz a pripájací dotaz, a tiež ako odstrániť tabuľku. V postupe sa používajú tabuľky Zákazníci a Klienti.

Tabuľka Zákazníci   

Názov spoločnosti

Meno kontaktu

Adresa

Mesto

PSČ

Telefón

Baldwin Museum of Science

Josh Barnhill

1 Main St.

New York

12345

(505) 555-2122

Blue Yonder Airlines

Waleed Heloo

52 1st St.

Boston

23456

(104) 555-2123

Coho Winery

Pica Guido

3122 75th Ave. S.W.

Seattle

34567

(206) 555-2124

Contoso Pharmaceuticals

Jean Philippe Bagel

1 Contoso Blvd.

London

NS1 EW2

(171) 555-2125

Fourth Coffee

Julian Price

Calle Smith 2

Trebačov

56789

(7) 555-2126

Adventure Works

Christine Hughes

3122 87th Way S.W.

Seattle

34567

(078) 555-2125

Humongous Insurance

Steve Riley

67 Big St.

Tampa

01234

(916) 555-2128

Trey Research

Dana Birkby

2 Nosey Pkwy

Portland

43210

(503) 555-2129

Fabrikam, Inc.

Jesper Aaberg

9 Empire Way

Seattle

56789

(206) 555-2233

Tabuľka Klienti   

Názov

Adresa

Mesto

Telefón

Fax

Baldwin Museum of Science

Hlavná 1

New York

(505) 555-2122

(505) 555-3123

Blue Yonder Airlines

Pekná 12

Boston

(104) 555-2123

(104) 555-2124

Coho Winery

Trnavská 345

Seattle

(206) 555-2124

(206) 555-2125

Contoso Pharmaceuticals

Višňová 14

London

(171) 555-2125

(171) 555-2126

Fourth Coffee

Stromová 2

Mexico City

(7) 555-2126

(7) 555-2127

Consolidated Messenger

3122 75th St. S.

Seattle

(206) 555-0170

(206) 555-0171

Graphic Design Institute

Osiková 12

Tampa

(916) 555-2128

(916) 555-2128

Litware, Inc.

Mostovská 34

Liptovský Podzámok

(503) 555-0192

(503) 555-0193

Tailspin Toys

Mostovská 35

Liptovský Podzámok

(503) 555-2233

(503) 555-2239

Ak chcete použiť tieto tabuľky v databáze, pozrite si kroky v časti Príprava vzorových údajov vyššie v tomto článku. Pre toto cvičenie predpokladajme, že tabuľka Zákazníci obsahuje najnovšie informácie – preto chcete odstrániť zhodné záznamy z tabuľky Klienti a potom zlúčiť zostávajúce záznamy z tabuľky Klienti do tabuľky Zákazníci.

Odstránenie nechcených údajov

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Návrh dotazu.

    Pridanie aplikácie

  2. V dialógovom okne Zobrazenie tabuľky dvakrát kliknite na tabuľku Zákazníci a na tabuľku Klienti a potom dialógové okno zavrite.

  3. Spojte tieto dve tabuľky tak, že pole Názov spoločnosti z tabuľky Zákazníci presuniete na pole Názov v tabuľke Klienti.

  4. Pravým tlačidlom myši kliknite na prázdnu oblasť v hornej polovici okna a potom kliknite na položku Vlastnosti. Hodnotu vlastnosti Jedinečné záznamy nastavte na možnosť Áno.

    Spojením oboch tabuliek a nastavením vlastnosti dotazu Jedinečné záznamy na možnosť Áno predídete zobrazeniu hlásenia Nedá sa odstrániť zo zadanej tabuľky pri spustení dotazu.

  5. Na karte Návrh kliknite v skupine Typ dotazu na položku Odstraňovací.

  6. Hviezdičku (*) presuňte z tabuľky Klienti na riadok Pole v prvom stĺpci v mriežke návrhu dotazu.

    Hviezdička (*) v zozname polí predstavuje všetky polia v tabuľke

    Položka Klienti sa zobrazí v riadku Tabuľka a položka Z sa zobrazí v riadku Odstrániť. Znamená to, že dotaz odstráni riadky z tabuľky Klienti.

  7. Teraz je potrebné určiť, ktoré záznamy dotaz odstráni. Ak používate vzorové tabuľky, môžete tak urobiť odstránením záznamov, v ktorých sa hodnoty v poliach Názov, Adresa a Mesto zhodujú so zodpovedajúcimi poľami v tabuľke Zákazníci.

    Pole Názov presuňte z tabuľky Klienti na prvú prázdnu bunku v riadku Pole v mriežke návrhu dotazu. Rovnako postupujte aj v prípade polí Adresa a Mesto z tabuľky Klienti.

  8. Ak používate vzorové tabuľky, do riadka Kritériá pre pole Názov zadajte položku [Zákazníci].[Názov spoločnosti]. Do riadka Kritériá pre pole Adresa zadajte položku [Zákazníci].[Adresa]. Do riadka Kritériá pre pole Mesto zadajte položku [Zákazníci].[Mesto]. Mriežka návrhu dotazu by mal vyzerať takto:

    Polí a kritérií, ktoré určujú duplicitných záznamov

    Po spustení dotazu sa odstránia všetky záznamy, ktoré spĺňajú kritériá definované v dotaze, teda záznamy, ktoré majú zhodné hodnoty v troch poliach každej tabuľky.

  9. Kliknutím na tlačidlo Zobraziť Vzhľad tlačidla sa zobrazí ukážka záznamov, ktoré sa po spustení dotazu odstránia. V ukážke sa zobrazí päť duplicitných záznamov z tabuľky Klienti.

  10. Kliknutím na tlačidlo Spustiť Obrázok tlačidla spustite dotaz. Keď sa zobrazí výzva na potvrdenie odstránenia, kliknite na položku Áno.

  11. Prejdite na ďalšie kroky a vytvorte pripájací dotaz.

Pripojenie zostávajúcich údajov

  1. Na karte Vytvoriť kliknite v skupine Iné na položku Návrh dotazu.

    Pridanie aplikácie

  2. V dialógovom okne Zobrazenie tabuľky dvakrát kliknite na zdrojovú tabuľku, dvakrát kliknite na tabuľku obsahujúcu záznamy, ktoré chcete pripojiť, a potom kliknite na tlačidlo Zavrieť. Ak používate vzorové údaje, dvakrát kliknite na tabuľku Klienti.

  3. Na karte Návrh kliknite v skupine Typ dotazu na tlačidlo Pripájací.

  4. V dialógovom okne Pripojenie v zozname Názov tabuľky vyberte cieľovú tabuľku (tabuľka, ku ktorej chcete údaje pripojiť). Ak používate vzorové tabuľky, vyberte tabuľku Zákazníci a potom kliknite na tlačidlo Zavrieť.

  5. Polia, ktoré chcete pripojiť, presuňte zo zdrojovej tabuľky na riadok Pole v mriežke návrhu.

    Dôležité : Presuňte len tie polia, ktoré majú zodpovedajúce pole v cieľovej tabuľke.

    Ak používate vzorové údaje, presuňte polia Názov, Adresa a Telefón.

  6. V každom poli kliknite na riadok Pripojiť k a vyberte názov zodpovedajúceho poľa v cieľovej tabuľke. Ak používate vzorové údaje, vyberte polia Názov zákazníka, Adresa a Telefón (v tomto poradí).

  7. Keďže chcete pridať všetky záznamy z tabuľky Klienti do tabuľky Zákazníci, nemusíte špecifikovať žiadne kritériá. Kliknutím na tlačidlo Zobraziť Vzhľad tlačidla sa zobrazí ukážka záznamov, ktoré sa po spustení dotazu pridajú do tabuľky Zákazníci.

  8. Uložte a zavrite zobrazenie.

  9. Vyhľadajte pripájací dotaz a dvakrát naň kliknite. Kliknutím na tlačidlo Áno potvrdíte operáciu pripojenia.

    Nechcem zobrazovať potvrdzujúce hlásenie pri každom spustení tohto dotazu

    • Kliknite na tlačidlo Microsoft Office Obrázok tlačidla Office a potom kliknite na položku Možnosti programu Access.

    • V dialógovom okne Access – možnosti kliknite na položku Úpravy.

    • V časti Všeobecné úpravy pod položkou Potvrdenie zrušte začiarknutie políčka Akčné dotazy.

Odstránenie tabuľky

  1. Uistite sa, že máte potrebné povolenia na odstraňovanie tabuliek v databáze, že databáza nie je iba na čítanie a že tabuľku nemá otvorenú iný používateľ.

  2. Na navigačnej table kliknite na tabuľku, ktorú chcete odstrániť.

  3. Stlačte kláves DELETE a potom kliknutím na tlačidlo Áno potvrďte, že chcete tabuľku odstrániť.

    Poznámka : Odstránenie tabuliek databázy môže čiastočne alebo úplne narušiť funkčnosť databázy. Preto treba odstránenie naplánovať tak, aby ste zabezpečili, že databáza zostane funkčná. Pred odstránením údajov alebo iných súčastí by ste databázu mali vždy zálohovať.

    Ďalšie informácie o odstránení údajov nájdete v článku Použitie odstraňovacieho dotazu na odstránenie jedného alebo viacerých záznamov z databázy.

Na začiatok časti

Zobrazenie len jednoznačných záznamov pri zobrazení údajov zo súvisiacich tabuliek

Dotaz, ktorý spája údaje z dvoch súvisiacich tabuliek, môže zobraziť záznamy, v ktorých sú všetky polia zdanlivo zhodné. Pri kontrole tabuliek však môžete zistiť, že tabuľky v skutočnosti neobsahujú duplicitné záznamy. Tento problém vzniká, keď dotaz nezahŕňa niektoré polia, ako je napríklad hlavný kľúč, ktoré môžu jednoznačne identifikovať každý záznam. V takých prípadoch nie je nutné záznamy odstrániť, keďže zdanlivo duplicitné položky môžete skryť.

Predpokladajme napríklad, že použijete dotaz na zhromaždenie údajov o objednávkach zákazníkov z dvoch tabuliek, pričom sa chcete uistiť, že vaši zamestnanci plnia objednávky načas. Vaši zákazníci môžu zadať objednávku na viacero produktov, pričom každý produkt sa stáva samostatným záznamom (riadkom) v základných tabuľkách. Keďže objednávka je zadaná v jednom dni a následne aj odoslaná v jednom dni, záznamy pre danú objednávku môžu obsahovať veľký počet duplicitných dátumov, napríklad:

Polia s jedinečnými hodnotami odstránené z dotazu Splnenie objednávky

Keďže viete, že objednávky sú zadané v jeden deň a odosielate ich tiež v jeden deň, pre každú objednávku bude stačiť zobraziť len jeden záznam (jeden riadok). Ak chcete zobraziť jedinečné záznamy z tabuliek obsahujúcich údaje o objednávkach, vlastnosť Jedinečné záznamy pre daný dotaz môžete nastaviť na možnosť Áno. Keď je vlastnosť nastavená na možnosť Áno, dotaz skontroluje všetky riadky v tabuľkách a keď nájde zhodné riadky (nie iba polia), dotaz vylúči všetky duplicitné riadky tak, aby vo výslednej množine zostal len jeden z týchto riadkov.

Nastavenie vlastnosti Jedinečné záznamy na možnosť Áno

  1. Dotaz otvorte v návrhovom zobrazení a stlačením klávesu F4 zobrazte hárok vlastností.

  2. V hárku vlastností nastavte vlastnosť Jedinečné záznamy na možnosť Áno a potom hárok vlastností zavrite.

    Zobrazenie hárok vlastností

Nezabúdajte, že keď je vlastnosť Jedinečné záznamy nastavená na možnosť Áno, dotaz porovná celé riadky, pričom riadky vo všetkých dotknutých tabuľkách sa musia zhodovať, ak má dotaz vylúčiť akékoľvek údaje. Nastavenie vlastnosti Jedinečné záznamy môžete použiť len vtedy, ak dotaz zahŕňa minimálne dve tabuľky.

Po prepnutí do údajového zobrazenia uvidíte pre každú objednávku len jeden záznam.

Jeden záznam za objednávky z tabuľky objednávky

Pamätajte tiež, že keď nastavíte vlastnosť Jedinečné záznamy na možnosť Áno a spustíte dotaz, môžu sa zobraziť zdanlivo duplicitné záznamy. Ak budete pokračovať v predchádzajúcom príklade, v zobrazení môžete ešte nájsť záznamy so zhodnými dátumami objednávky a dátumami dodania, ako napríklad:


Zobrazenie stále zobrazuje duplicitných záznamov

K tejto situácii môže dôjsť, keď v jeden deň prijmete dve rôzne objednávky a v jeden deň ich aj odošlete. Nastavenie vlastnosti Jedinečné záznamy na možnosť Áno neskryje tieto záznamy z výsledkov dotazu, pretože záznamy v základných tabuľkách dotazu v skutočnosti nie sú duplicitné.

Ak chcete zobraziť len jednu inštanciu týchto záznamov (teda jeden záznam o objednávke za deň), musíte vlastnosť dotazu Jedinečné hodnoty nastaviť na možnosť Áno. Keď je vlastnosť Jedinečné hodnoty nastavená na možnosť Áno, dotaz v základných tabuľkách nevyhľadá duplicitné položky. Namiesto toho skontroluje hodnoty v zahrnutých poliach a ak sa polia zhodujú v dvoch záznamoch, dotaz skryje jeden záznam zo zobrazenia.

Vlastnosť Jedinečné hodnoty nastavte rovnakým spôsobom, ako ste nastavili vlastnosť Jedinečné záznamy – zobrazte hárok vlastností dotazu a zmeňte nastavenie na možnosť Áno. V hárku vlastností sa pole vlastností Jedinečné hodnoty nachádza nad poľom vlastností Jedinečné záznamy.

Vlastnosť Jedinečné hodnoty je nastavená na možnosť Áno

Ak budete pokračovať v predchádzajúcom príklade, teraz uvidíte len tie dátumy, kedy bola prijatá alebo odoslaná aspoň jedna objednávka. Neuvidíte jeden záznam pre každú objednávku.


Dátumy, kedy boli prijaté a odoslané objednávky

Poznámka : Keďže nastavenie vlastnosti Jedinečné záznamy na možnosť Áno pracuje s riadkami v tabuľkách, ktoré poskytujú údaje pre dotaz, a nastavenie vlastnosti Jedinečné hodnoty na možnosť Áno pracuje len s poľami v dotaze, nie je možné použiť obidve vlastnosti súčasne. Ak nastavíte jednu vlastnosť na možnosť Áno, Access automaticky nastaví druhú vlastnosť na možnosť Nie. Avšak obidve vlastnosti je možné nastaviť na možnosť Nie – v takom prípade sa vrátia všetky záznamy.

Nasledujúca tabuľka poskytuje prehľad, ktorý vám môže pomôcť pri výbere nastavenia vlastností Jedinečné záznamy a Jedinečné hodnoty v dotaze.

Ak je dotaz založený na...

A chcete zobraziť...

Nastavte...

Výsledok...

Dvoch alebo viacerých tabuľkách, ale všetky polia dotazu vychádzajú z jednej tabuľky

Jednoznačné záznamy z tabuľky (dva záznamy sa musia zhodovať vo všetkých poliach v tabuľke, aby mohli byť posudzované ako duplicity)

Vlastnosť Jedinečné záznamy na možnosť Áno. (Access automaticky nastaví vlastnosť Jedinečné hodnoty na možnosť Nie).

Ak tabuľka obsahuje duplicitné záznamy, dotaz bude duplicitné položky ignorovať. Ak však dotaz nezahŕňa pole, ktoré jednoznačne identifikuje záznamy, výsledky dotazu môžu ešte stále zobrazovať záznamy, v ktorých sa všetky polia zhodujú.

Jednej alebo viacerých tabuľkách

Jednoznačné záznamy v údajovom zobrazení dotazu (dva záznamy sa musia zhodovať vo všetkých poliach v údajovom zobrazení, aby mohli byť posudzované ako duplicity)

Vlastnosť Jedinečné hodnoty na možnosť Áno. (Access automaticky nastaví vlastnosť Jedinečné záznamy na možnosť Nie).

Dotaz vylúči duplicitné záznamy (v ktorých sa všetky polia zhodujú) z údajového zobrazenia. Pamätajte však, že sa nemusia zobraziť všetky jednoznačné záznamy zo základnej tabuľky.

Jednej alebo viacerých tabuľkách

Všetky záznamy

Vlastnosť Jedinečné hodnoty na možnosť Nie a vlastnosť Jedinečné záznamy na možnosť Nie.

Zobrazia sa všetky jedinečné aj duplicitné záznamy z oboch tabuliek.

Na začiatok časti

Zobrazenie konkrétneho záznamu alebo vytvorenie súhrnu duplicitných údajov obsiahnutých v súvisiacich tabuľkách

Pri zobrazení duplicitných údajov v súvisiacich tabuľkách možno budete chcieť zobraziť konkrétny záznam z množiny duplicít, prípadne budete chcieť prostredníctvom funkcie Count, Sum alebo inej agregačnej funkcie vytvoriť súhrn duplicitných údajov.

Podobne ako v scenári popísanom v predchádzajúcej časti, tabuľky v skutočnosti nemusia obsahovať duplicitné údaje. Pri zobrazení údajov z dvoch tabuliek zdieľajúcich vzťah „one-to-many“, ako sú napríklad tabuľky Objednávky a Podrobnosti objednávky, však môžete nájsť niekoľko záznamov, v ktorých sa viaceré polia zhodujú. Jeden zamestnanec mohol napríklad prijať viacero objednávok od toho istého zákazníka alebo tento zamestnanec mohol v ten istý deň predať rovnaký produkt ako súčasť rôznych objednávok atď. Ak vás zaujíma vyhľadanie údajov s cieľom odpovedať na dotazy v nasledujúcich príkladoch, namiesto odstránenia duplicitných údajov potrebujete vytvoriť súhrn údajov.

  • Zistenie celkového množstva každého produktu predaného jednotlivými zamestnancami.

  • Zistenie celkového počtu objednávok, ktoré jednotliví zamestnanci vybavili pre každého zákazníka.

  • Vyhľadanie najväčšej objednávky za daný deň pre každého zamestnanca.

Ak chcete vytvoriť súhrn údajov, použite podobný súhrnný dotaz ako tie, ktoré boli uvedené v časti Zobrazenie jednoznačných záznamov zadaním duplicitných položiek, ktoré sa môžu zobraziť vo výsledkoch vyššie v tomto článku. V danej časti sa vysvetľovalo, ako použiť súhrnný dotaz s jednou tabuľkou. Ak chcete vytvoriť súhrnný dotaz obsahujúci viacero tabuliek, postupujte takto:

  • Po pridaní prvej tabuľky do dialógového okna Zobrazenie tabuľky nezabudnite pridať druhú tabuľku.

  • Po pridaní polí určujúcich duplicitu presuňte požadované polia z jednej alebo druhej tabuľky a pre všetky polia nastavte hodnotu v riadku Celkom v príslušnom stĺpci na možnosť Group By.

  • Pole, ktoré identifikuje záznam, ktorý chcete zobraziť, alebo ktoré obsahuje hodnoty, pre ktoré chcete vytvoriť súhrn, môže pochádzať z jednej alebo druhej tabuľky.

Na začiatok časti

Na začiatok stránky

Poznámka : Vyhlásenie týkajúce sa strojového prekladu: Tento článok bol preložený počítačovým systémom bez zásahu človeka. Poskytovaním týchto strojových prekladov umožňuje spoločnosť Microsoft aj používateľom, ktorí nehovoria po anglicky, využívať obsah o produktoch, službách a technológiách spoločnosti Microsoft. Článok bol preložený strojovo, môže preto obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky.

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

Skvelé? Máte nejaké ďalšie pripomienky?

Ako sa môžeme zlepšiť?

Ďakujeme za vaše pripomienky!

×