Porovnání dvou tabulek a vyhledání shodných dat

Porovnání dvou tabulek a vyhledání shodných dat

Někdy se může stát, že chcete u záznamů jedné accessové tabulky zkontrolovat, jestli odpovídají záznamům jiné accessové tabulky, která má v jednom nebo více polích shodná data. Chcete třeba zkontrolovat záznamy zaměstnanců, kteří zpracovali aspoň jednu objednávku, abyste zjistili, kteří z nich mají nárok na prémie. Nebo chcete zkontrolovat kontaktní údaje zákazníků, kteří žijí ve stejném městě jako zaměstnanci, abyste spojili zaměstnance se zákazníky kvůli osobním schůzkám.

Když chcete porovnat dvě accessové tabulky a najít shodná data, máte tyto možnosti:

  • Vytvořit dotaz, který spojí pole shodných údajů z obou tabulek. Můžete k tomu použít buď stávající relaci, nebo propojení tabulek, které vytvoříte kvůli tomuto dotazu. Tato metoda zajišťuje optimální výkon (rychlost s jakou dotaz vrací výsledky). Nicméně nemůžete spojit pole, která mají různé datové typy.

  • Vytvořte raději dotaz, který k porovnání polí použije jedno pole jako kritérium druhého pole. Použití pole jako kritéria jiného pole je obecně pomalejší, než když použijete propojení tabulek, protože propojení vyloučí z výsledků dotazu řádky ještě před načtením zdrojových tabulek, zatímco kritéria se použijí na výsledky dotazu až po načtení zdrojových tabulek. Pole můžete použít jako kritérium, když chcete porovnat pole s různými datovými typy, protože u těchto polí nemůžete použít propojení tabulek.

Tento článek popisuje, jak porovnat dvě tabulky, abyste zjistili shodná data. Nabízí také ukázková data, která můžete použít v ukázkových postupech.

V tomto článku

Porovnání dvou tabulek jejich propojením

Porovnání dvou tabulek podle pole sloužícího jako kritérium

Porovnání dvou tabulek jejich propojením

Když k porovnání dvou tabulek použijete spojení, vytvoříte výběrový dotaz, který zahrnuje obě tabulky. Pokud mezi tabulkami neexistuje relace založená na polích se shodnými daty, použijte k vytvoření spojení pole, u kterých chcete prověřit shodu. Můžete vytvořit libovolný počet spojení, ale každý pár propojených polí musí mít stejný nebo kompatibilní datový typ.

Předpokládejme, že pracujete na vysoké škole a provádíte výzkum. Chcete zjistit, jak nedávné změny učiva na katedře matematiky ovlivnily známky studentů. Konkrétně vás zajímají známky studentů, kteří mají matematiku jako hlavní obor. Máte tabulku s hlavními studijními obory studentů a tabulku s údaji o zapsaných předmětech. Známky jsou uložené v tabulce Zapsané předměty a hlavní studijní obory studentů jsou uložené v tabulce Hlavní obory studentů. Pokud se chcete podívat, jak nedávné změny učiva ovlivnily známky studentů, kteří mají matematiku jako hlavní obor, potřebujete projít záznamy v tabulce zapsaných předmětů, které mají odpovídající záznamy v tabulce hlavních studijních oborů studentů.

Příprava ukázkových dat

V tomto příkladu vytvoříte dotaz, kterým zjistíte, jak nedávné změny učiva na katedře matematiky ovlivnily známky studentů matematiky. Použijete následující dvě ukázkové tabulky: Hlavní studijní obory a Zapsané předměty. Tyto dvě ukázkové tabulky (Hlavní obory studentů a Zapsané předměty) si přidejte do databáze.

Microsoft Office Access 2007 nabízí různé způsoby, jak tyto ukázkové tabulky přidat do databáze. Údaje můžete zadat ručně, každou tabulku můžete zkopírovat do tabulkového kalkulátoru (jako je Microsoft Office Excel 2007) a potom listy naimportovat do aplikace Office Access 2007 nebo můžete data zkopírovat do textového editoru, třeba do Poznámkového bloku, a potom je importovat z výsledných textových souborů.

Postup v této části vysvětluje ruční způsob zadávání dat do prázdného datového listu. Je tu také návod, jak zkopírovat ukázkové tabulky do Excelu a pak je naimportovat do Accessu.

Hlavní obory studentů

ID studenta

Rok

Hlavní obor

123456789

2005

MATEMATIKA

223334444

2005

ANGLIČTINA

987654321

2005

MATEMATIKA

135791357

2005

HISTORIE

147025836

2005

BIOLOGIE

707070707

2005

MATEMATIKA

123456789

2006

MATEMATIKA

223334444

2006

ANGLIČTINA

987654321

2006

PSYCHOLOGIE

135791357

2006

UMĚNÍ

147025836

2006

BIOLOGIE

707070707

2006

MATEMATIKA

Zapsané předměty

ID studenta

Rok

Období

Předmět

Číslo kurzu

Známka

123456789

2005

3

MATEMATIKA

221

A

123456789

2005

3

ANGLIČTINA

101

B

123456789

2006

1

MATEMATIKA

242

C

123456789

2006

1

MATEMATIKA

224

C

223334444

2005

3

ANGLIČTINA

112

A

223334444

2005

3

MATEMATIKA

120

C

223334444

2006

1

POLITICKÉ VĚDY

110

A

223334444

2006

1

ANGLIČTINA

201

B

987654321

2005

3

MATEMATIKA

120

A

987654321

2005

3

PSYCHOLOGIE

101

A

987654321

2006

1

MATEMATIKA

221

B

987654321

2006

1

MATEMATIKA

242

C

135791357

2005

3

HISTORIE

102

A

135791357

2005

3

UMĚNÍ

112

A

135791357

2006

1

MATEMATIKA

120

B

135791357

2006

1

MATEMATIKA

141

C

147025836

2005

3

BIOLOGIE

113

B

147025836

2005

3

CHEMIE

113

B

147025836

2006

1

MATEMATIKA

120

D

147025836

2006

1

STATISTIKA

114

B

707070707

2005

3

MATEMATIKA

221

B

707070707

2005

3

STATISTIKA

114

A

707070707

2006

1

MATEMATIKA

242

D

707070707

2006

1

MATEMATIKA

224

C

Pokud chcete k zadání ukázkových dat použít tabulkový kalkulátor, přejděte k této části.

Ruční zadání ukázkových dat

  1. Otevřete novou nebo stávající databázi.

  2. Na kartě Vytvořit klikněte ve skupině Tabulky na Tabulka.

    Obrázek pásu karet

    Access přidá do databáze novou prázdnou tabulku.

    Poznámka : Pokud otevřete novou prázdnou databázi, nemusíte tento krok dělat. Tento krok ale musíte udělat, kdykoli budete potřebovat přidat do databáze tabulku.

  3. V ukázkové tabulce poklikejte v řádku záhlaví na první buňku a zadejte název pole.

    Access automaticky označuje prázdná pole v řádku záhlaví textem Přidat nové pole, třeba tady:

    Nové pole v datovém listu

  4. Šipkovými klávesami se přesuňte na další prázdnou buňku v záhlaví a zadejte název druhého pole (na buňku také můžete poklikat). Tento krok opakujte u každého názvu pole.

  5. Zadejte do ukázkové tabulky data.

    Access při zadávání dat odvodí pro každé pole datový typ. Každé pole má určitý datový typ, třeba Číslo, Text nebo Datum a čas. Když nastavíte datové typy, zajistíte přesné zadávání dat a pomůžete zabránit takovým chybám, jako je použití telefonního čísla ve výpočtu. U těchto ukázkových tabulek nechte Access, ať odvodí datový typ každého pole, ale nezapomeňte tyto datové typy zkontrolovat.

  6. Až zadávání dat dokončíte, klikněte na Uložit nebo stiskněte CTRL+S.

    Zobrazí se dialogové okno Uložit jako.

  7. Do pole Název tabulky zadejte název ukázkové tabulky a pak klikněte na OK.

    Použijte název každé ukázkové tabulky (například Hlavní obory studentů), protože tyto názvy se používají i v dotazech uvedených v tomto článku v částech s postupy.

Jakmile zadáte ukázková data, můžete obě tabulky porovnat.

Pokud se nechcete učit vytvářet list tabulky, který je založený na ukázkových datech z tabulek v předchozí části, přeskočte následující část (Vytvoření ukázkových listů).

Vytvoření ukázkových listů

  1. Spusťte tabulkový kalkulátor a vytvořte nový prázdný soubor. Pokud používáte Excel, vytvoří se nový prázdný sešit automaticky při spuštění programu.

  2. Zkopírujte první ukázkovou tabulku z předchozí části a vložte ji do první buňky prvního listu. Nezapomeňte zkopírovat řádek záhlaví, protože obsahuje názvy polí ukázkové tabulky.

  3. List pojmenujte stejně, jako se jmenuje ukázková tabulka. Použijte způsob, který nabízí váš tabulkový kalkulátor. Při vkládání ukázkových dat tabulky Zapsané předměty pojmenujte list Zapsané předměty.

  4. Opakováním kroků 2 a 3 zkopírujte druhou ukázkovou tabulku do prázdného listu a přejmenujte ho.

    Poznámka : Možná budete do souboru tabulkového kalkulátoru potřebovat přidat další listy. Informace o přidání dalších listů do souboru tabulky najdete v nápovědě ke svému tabulkovému kalkulátoru.

  5. Uložte sešit do vhodného umístění v počítači nebo v síti a přejděte k další skupině kroků.

Vytvoření databázových tabulek z listů

  1. V nové nebo existující databázi:

    Na kartě Externí data klikněte ve skupině Import na Excel.

    Obrázek pásu karet

    – nebo –

    Klikněte na Další a v seznamu vyberte tabulkový kalkulátor.

    Zobrazí se dialogové okno Načíst externí data – Tabulka aplikace <Název aplikace>.

  2. Klikněte na Procházet, najděte a otevřete soubor tabulkového kalkulátoru, který jste vytvořili v předchozích krocích, a klikněte na OK.

    Spustí se Průvodce importem z tabulkového kalkulátoru.

    Průvodce automaticky vybere první list v sešitu (pokud jste postupovali podle pokynů, je to list Hlavní obory studentů). Data z listu se zobrazí v dolní části stránky průvodce.

  3. Klikněte na Další.

  4. Na další stránce průvodce zaškrtněte políčko První řádek obsahuje záhlaví sloupců a klikněte na Další.

  5. Na další stránce použijte textová pole a seznamy v části Možnosti pole ke změně názvů polí a datových typů. Pole také můžete z importu vynechat. V tomto příkladu nemusíte nic měnit. Klikněte na Další.

  6. Na další stránce vyberte možnost Žádný primární klíč a pak klikněte na Další.

  7. Access automaticky použije jako název nové tabulky název listu. Potvrďte název v poli Importovat do tabulky a klikněte na Dokončit.

  8. Dokončete průvodce tím, že na stránce Uložit kroky importu kliknete na Zavřít.

  9. Opakováním kroků 1 až 7 vytvořte tabulky pro každý list, který je v souboru s tabulkami.

Porovnání ukázkových tabulek a použití spojení k vyhledání shodných záznamů

Teď můžete porovnat tabulku Zapsané předměty s tabulkou Hlavní obory studentů. Vzhledem k tomu, že mezi tabulkami nemáte definovanou relaci, musíte mezi příslušnými poli dotazu vytvořit spojení. Tabulky mají více společných polí. Proto bude potřeba vytvořit spojení pro každou dvojici společných polí: ID studenta, Rok a Předmět (tabulka Zapsané předměty) a Hlavní obor (tabulka Hlavní obory studentů). V tomto příkladu vás jako hlavní studijní obor zajímá jenom matematika. Proto použijete také kritérium pole, kterým omezíte výsledky dotazu.

  1. Otevřete databázi, do které jste uložili ukázkové tabulky.

  2. Na kartě Vytvoření klikněte na Návrh dotazu.

  3. V dialogovém okně Zobrazit tabulku poklikejte na tabulku obsahující záznamy, které chcete zobrazit (v tomto příkladu je to tabulka Zapsané předměty) a pak poklikejte na tabulku, se kterou budete data porovnávat (v našem příkladu je to tabulka Hlavní obory studentů).

  4. Zavřete dialogové okno Zobrazit tabulku.

  5. Pole ID studenta přetáhněte z tabulky Zapsané předměty do pole ID studenta v tabulce Hlavní obory studentů. V návrhové mřížce se mezi oběma tabulkami zobrazí čára, která označuje vytvořené spojení. Poklikáním na čáru otevřete dialogové okno Vlastnosti spojení.

  6. Podívejte se na tři možnosti v dialogovém okně Vlastnosti spojení. Automaticky je vybraná první možnost. V některých případech musíte upravit vlastnosti spojení tak, aby zahrnovaly další řádky z jedné tabulky. Chcete najít jenom shodná data, takže nechte spojení nastavené na první možnost. Zavřete dialogové okno Vlastnosti spojení kliknutím na Zrušit.

  7. Budete muset vytvořit dvě další spojení. Vytvoříte je tak, že přetáhnete pole Rok z tabulky Zapsané předměty do pole Rok tabulky Hlavní obory studentů a pak přetáhnete pole Předmět z tabulky Zapsané předměty do pole Hlavní obor tabulky Hlavní obory studentů.

  8. V tabulce Zapsané předměty poklikejte na hvězdičku (*). Tím do návrhové mřížky dotazu přidáte všechna pole tabulky.

    Poznámka : Když k přidání všech polí použijete hvězdičku, zobrazí se v návrhové mřížce jenom jeden sloupec. Zobrazený sloupec má stejný název jako tabulka a za ním následuje tečka (.) a hvězdička (*). V tomto příkladu se sloupec jmenuje Zapsané předměty.*.

  9. V tabulce Hlavní obory studentů poklikejte na pole Hlavní obor. Tím ho přidáte do mřížky.

  10. V návrhové mřížce dotazu zrušte zaškrtnutí políčka na řádku Zobrazit ve sloupci Hlavní obor.

  11. V řádku Kritéria zadejte ve sloupci Hlavní obor text MATEMATIKA.

  12. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

    Po spuštění dotazu se zobrazí známky z matematiky jen těch studentů, kteří mají matematiku jako hlavní obor.

Začátek stránky

Porovnání dvou tabulek podle pole sloužícího jako kritérium

Někdy se může stát, že chcete porovnat tabulky podle polí, ve kterých sice jsou shodná data, ale mají různé datové typy. Například v jedné tabulce může mít pole datový typ Číslo a vy ho chcete porovnat s polem v jiné tabulce, které má datový typ Text. Pole, která obsahují podobná data, ale mají jiný datový typ, můžou vzniknout, pokud se čísla uloží jako text. Může se to stát při návrhu nebo i z jiných důvodů, třeba při importu dat z jiného programu. Vzhledem k tomu, že nemůžete vytvořit spojení mezi poli s různými datovými typy, budete muset použít jiný způsob, jak je porovnat. K porovnání dvou polí s různými datovými typy můžete použít jedno pole jako kritérium druhého pole.

Předpokládejme, že pracujete na vysoké škole a provádíte výzkum. Chcete zjistit, jak nedávné změny učiva na katedře matematiky ovlivnily známky studentů. Konkrétně vás zajímají známky studentů, kteří mají matematiku jako hlavní obor. Máte tabulku Hlavní obory studentů a tabulku Zapsané předměty. Známky jsou uložené v tabulce Zapsané předměty a hlavní studijní obory studentů jsou uložené v tabulce Hlavní obory studentů. Pokud chcete zjistit, jak se studentům, kteří mají matematiku jako hlavní obor, změnily známky, potřebujete se podívat na záznamy v tabulce zapsaných předmětů, které mají odpovídající záznamy v tabulce hlavních oborů studentů. Ale jedno z polí, které chcete použít k porovnání tabulek, má jiný datový typ než jeho protějšek.

Když chcete k porovnání dvou tabulek použít pole, které představuje kritérium, vytvoříte výběrový dotaz, který zahrnuje obě tabulky. Do dotazu zahrnete pole, která chcete zobrazit. Také do něj zahrnete ta pole, která odpovídají poli použitému jako kritérium. Pak vytvoříte kritérium, abyste mohli tabulky porovnat. K porovnání polí můžete použít libovolný počet kritérií.

Abyste si tento způsob vyzkoušeli, použijte ukázkové tabulky z předchozí části, ale v ukázkové tabulce Hlavní obory studentů změňte datový typ pole ID studenta z čísla na text. Protože spojení nejde vytvořit mezi dvěma poli s různými datovými typy, musíte k porovnání dvou polí ID studenta použít jedno pole jako kritérium druhého pole.

Změna datového typu pole ID studenta v tabulce Hlavní obory studentů

  1. Otevřete databázi, do které jste uložili ukázkové tabulky.

  2. V navigačním podokně klikněte pravým tlačítkem na tabulku Hlavní obory studentů a v místní nabídce klikněte na Návrhové zobrazení.

    Tabulka Hlavní obory studentů se otevře v návrhovém zobrazení.

  3. Ve sloupci Datový typ změňte nastavení ID studenta z Čísla na Text.

  4. Zavřete tabulku Hlavní obory studentů. Když se zobrazí výzva k uložení změn, klikněte na Ano.

Porovnání ukázkových tabulek a použití kritérií polí k vyhledání shodných záznamů

Následující postup ukazuje, jak můžete k porovnání dvou polí s ID studenta vzít pole z tabulky Zapsané předměty a použít ho jako kritérium pole z tabulky Hlavní obory studentů. Když má každé pole jiný datový typ, můžete k jejich porovnání použít klíčové slovo Like.

  1. Na kartě Vytvoření klikněte ve skupině Jiné na Návrh dotazu.

  2. V dialogovém okně Zobrazit tabulku poklikejte na Zapsané předměty a pak poklikejte na Hlavní obory studentů.

  3. Zavřete dialogové okno Zobrazit tabulku.

  4. Pole Rok přetáhněte z tabulky Zapsané předměty do pole Rok v tabulce Hlavní obory studentů a pak přetáhněte pole Předmět z tabulky Zapsané předměty do pole Předmět tabulky Hlavní obory studentů. Tato pole mají stejné datové typy. Proto k jejich porovnání můžete použít spojení. Spojení představují oblíbený způsob, jak porovnat pole se stejným datovým typem.

  5. V tabulce Zapsané předměty poklikejte na hvězdičku (*). Tím do návrhové mřížky dotazu přidáte všechna pole tabulky.

    Poznámka : Když k přidání všech polí použijete hvězdičku, zobrazí se v návrhové mřížce jenom jeden sloupec. Zobrazený sloupec má stejný název jako tabulka a za ním následuje tečka (.) a hvězdička (*). V tomto příkladu se sloupec jmenuje Zapsané předměty.*.

  6. V tabulce Hlavní obory studentů poklikejte na pole ID studenta. Tím ho přidáte do mřížky.

  7. V návrhové mřížce zrušte zaškrtnutí políčka na řádku Zobrazit ve sloupci ID studenta. Na řádku Kritéria zadejte ve sloupci ID studenta výraz Like [Zapsané předměty].[ID studenta].

  8. V tabulce Hlavní obory studentů poklikejte na pole Hlavní obor. Tím ho přidáte do mřížky.

  9. V návrhové mřížce zrušte zaškrtnutí políčka na řádku Zobrazit ve sloupci Hlavní obor. Do řádku Kritéria zadejte MATEMATIKA.

  10. Na kartě Návrh klikněte ve skupině Výsledky na tlačítko Spustit.

    Po spuštění dotazu se zobrazí známky z matematiky jen těch studentů, kteří mají matematiku jako hlavní obor.

Začátek stránky

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

Děkujeme vám za zpětnou vazbu.

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×