Office
Přihlásit se

Vytváření a používání podsestav

Při práci s daty v relaci (kdy jsou související data uložená v samostatných tabulkách) často potřebujete ve stejné sestavě zobrazit informace z více než jedné tabulky nebo dotazu. Chcete například zobrazit údaje o zákaznících, ale současně chcete vidět informace o objednávkách těchto zákazníků. V Accessu se k tomuto účelu dá použít podsestava, protože umožňuje zobrazit informace o objednávkách v sestavě s údaji o zákaznících logickým a srozumitelným způsobem. Access nabízí řadu způsobů, jak rychle vytvářet podsestavy.

V tomto článku

Základní informace o podsestavách

Vytvoření podsestavy

Změny v návrhu podsestavy

Základní informace o podsestavách

Podsestava je sestava, která je vložená do jiné sestavy. Když takto kombinujete sestavy, musí být jedna z nich hlavní sestavou, která obsahuje další sestavu. Hlavní sestava může být vázaná nebo nevázaná. Vázaná sestava je sestava, která umožňuje zobrazení dat a jako svou vlastnost Zdroj záznamů má určenou tabulku, dotaz nebo příkaz SQL. Nevázaná sestava je sestava, která není založená na tabulce, dotazu nebo příkazu SQL (její vlastnost Zdroj záznamů je tedy prázdná).

Příklad nevázané hlavní sestavy se dvěma nesouvisejícími podsestavami    

Nevázaná hlavní sestava nemůže zobrazovat žádná vlastní data, ale může sloužit jako hlavní sestava pro nesouvisející podsestavy, které chcete zkombinovat.

Nevázaná hlavní sestava se dvěma podsestavami zobrazujícími data, která nejsou v relaci

1. Nevázaná hlavní sestava obsahuje dvě podsestavy.

2. První podsestava shrnuje tržby podle zaměstnance.

3. Druhá podsestava shrnuje tržby podle kategorie.

Příklad hlavní sestavy a podsestavy, které jsou vázané na stejný zdroj záznamů    

Pomocí hlavní sestavy můžete zobrazovat podrobné záznamy, jako jsou jednotlivé tržby během roku, a pak pomocí podsestavy zobrazovat souhrnné informace, jako jsou celkové tržby v každém čtvrtletí.

Hlavní sestava a podsestava, které jsou vázané na stejný zdroj záznamů

1. Podsestava shrnuje roční tržby podle čtvrtletí.

2. Hlavní sestava obsahuje denní tržby.

Příklad hlavní sestavy a podsestavy, které jsou vázané na související zdroje záznamů    

Hlavní sestava může obsahovat data, která má společná s jednou nebo více podsestavami. V tomto případě podsestava obsahuje data, která jsou v relaci s daty v hlavní sestavě.

Hlavní sestava se dvěma podsestavami, které zobrazují data v relaci

1. Hlavní sestava uvádí u každého veletrhu jeho název a město.

2. Podsestava uvádí obchodní zástupce, kteří se jednotlivých veletrhů zúčastní.

Podformuláře v sestavě

Hlavní sestava může kromě podsestav zahrnovat i podformuláře a může obsahovat tolik podformulářů a podsestav, kolik potřebujete. Hlavní sestava může obsahovat až sedm úrovní podformulářů a podsestav. Sestava může například obsahovat podsestavu, tato podsestava může obsahovat podformulář nebo podsestavu a tak dále, až do hloubky sedmi úrovní.

Když do sestavy přidáte podformulář a pak tuto sestavu otevřete v zobrazení sestavy, můžete pomocí podformuláře filtrovat a procházet záznamy. Kód VBA (Visual Basic for Applications) a vložená makra, která jsou k formuláři a jeho ovládacím prvkům připojená, budou dále fungovat, i když některé události jsou v tomto kontextu zakázané. Pomocí podformuláře v sestavě není možné přidávat, upravovat nebo odstraňovat záznamy.

Propojení sestavy s podformulářem nebo podsestavou

Po vložení podformuláře nebo podsestavy, která obsahuje informace související s daty v hlavní sestavě, se musí ovládací prvek podsestavy propojit s hlavní sestavou. Propojení zajišťuje, aby záznamy zobrazené v podformuláři nebo podsestavě odpovídaly záznamům, které se vytisknou v hlavní sestavě.

Při vytvoření podformuláře nebo podsestavy pomocí průvodce nebo přetažením objektu z navigačního podokna do sestavy se tento podformulář nebo podsestava automaticky propojí s hlavní sestavou, pokud je splněná některá z následujících podmínek.

  • Definujete relace pro vybrané tabulky nebo definujete relace pro podkladové tabulky vybraných dotazů.

  • Hlavní sestava je založená na tabulce obsahující primární klíč a podformulář nebo podsestava jsou založené na tabulce, která obsahuje pole, které má stejný název jako tento primární klíč a má stejný nebo kompatibilní datový typ. Pokud je například primárním klíčem podkladové tabulky hlavní sestavy pole Automatické číslo a jeho vlastnost Velikost pole je nastavená na Dlouhé celé číslo, odpovídající pole v podkladové tabulce podformuláře nebo podsestavy musí být číselné pole, jehož vlastnost Velikost pole je nastavená na Dlouhé celé číslo. Pokud vyberete jako zdroj záznamů podformuláře nebo podsestavy dotaz nebo dotazy, musí podkladové tabulky v dotazu nebo dotazech splňovat stejné podmínky.

Začátek stránky

Vytvoření podsestavy

Pokud bude podsestava propojená s hlavní sestavou, ujistěte se před použitím následujícího postupu, že zdroje podkladových záznamů jsou v relaci.

Použití Průvodce podsestavou k vytvoření podsestavy

Tento postup předpokládá, že už máte sestavu, ke které chcete přidat podsestavu. Další informace o vytváření sestavy najdete v článcích Vytvoření jednoduché sestavy a Vytvoření seskupené nebo souhrnné sestavy.

  1. V navigačním podokně klikněte pravým tlačítkem na sestavu, ke které chcete přidat podsestavu, a pak klikněte na Návrhové zobrazení.

  2. Na kartě Návrh ve skupině Ovládací prvky otevřete galerii Ovládací prvky kliknutím na šipku dolů v pravém dolním rohu:

    Obrázek pásu karet

  3. V nabídce, která se zobrazí, se ujistěte, že je vybraná možnost Použít průvodce ovládacími prvky.

  4. Otevřete znovu galerii Ovládací prvky a pak klikněte na možnost Podformulář nebo podsestava.

  5. V sestavě klikněte na místo, kam chcete podsestavu umístit.

  6. Pokud se zobrazí dialogové okno s upozorněním zabezpečení, klikněte na Otevřít a spusťte tak průvodce.

  7. Pokud chcete vytvořit nový podformulář nebo podsestavu na základě tabulky nebo dotazu, klikněte na první stránce Průvodce podsestavou na Použít existující tabulky a dotazy. Pokud chcete jako podsestavu použít existující sestavu nebo formulář, klikněte na Použít existující sestavu nebo formulář, vyberte v seznamu příslušnou sestavu nebo formulář a pak klikněte na Další.

    Volba zdroje dat v Průvodci podsestavou

    Poznámka:  Pokud v databázi nejsou žádné další sestavy nebo formuláře, bude seznam prázdný a možnost Použít existující sestavu nebo formulář nebude dostupná.

  8. Pokud jste na předchozí stránce průvodce zvolili možnost Použít existující sestavu nebo formulář, přeskočte tento krok a přejděte přímo ke kroku 9. Jinak v seznamu Tabulky nebo dotazy vyberte tabulku nebo dotaz obsahující pole, která chcete zahrnout do podsestavy, a pak poklikáním na požadovaná pole v seznamu Dostupná pole přidejte tato pole do podsestavy.

    Volba polí v Průvodci podsestavou

    Při plánování propojení podsestavy s hlavní sestavou nezapomeňte zahrnout pole, která se použijí k vytvoření propojení, a to i v případě, že je nebudete chtít zobrazit. Propojovacím polem obvykle bývá pole Kód (nebo ID). Na předchozím obrázku je zdrojem záznamů pro podsestavu tabulka Objednávky a zdrojem záznamů pro hlavní sestavu je tabulka Zákazníci. Tabulka Objednávky je v relaci s tabulkou Zákazníci prostřednictvím pole Kód zákazníka, a proto se toto pole přidá do seznamu Vybraná pole.

    Poznámka: Do podsestavy můžete zahrnout pole z více tabulek a dotazů. Když dokončíte přidávání polí z jedné tabulky, vyberte v seznamu Tabulky nebo dotazy další tabulku nebo dotaz a pak přidejte požadovaná pole.

    Pokračujte kliknutím na Další.

  9. Na této stránce průvodce určíte způsob propojení podsestavy s hlavní sestavou. Pokud Access najde pole, která se zdají vhodná pro propojení podsestavy s hlavní sestavou, zobrazí se v průvodci seznam možných návrhů propojení.

    Access navrhne pole k propojení v Průvodci podsestavou

    Můžete vybrat návrh propojení, který se zdá pro vaši situaci nejvhodnější. Pokud nechcete podsestavu propojit s hlavní sestavou, vyberte možnost Žádný. Pokud chcete podsestavu propojit s hlavní sestavou, ale žádný z návrhů se nezdá vhodný, klikněte na Definovat vlastní.

    Poznámka: Pokud průvodce nenajde vhodná pole pro propojení, nezobrazí se seznam návrhů propojení a automaticky se vybere možnost Definovat vlastní.

    Definování vlastních propojení v Průvodci podsestavou

    Po výběru možnosti Definovat vlastní průvodce zobrazí dvě sady seznamů.

    • V seznamu Pole formuláře nebo sestavy vyberte pole v hlavní sestavě, pomocí kterých chcete hlavní sestavu propojit s podformulářem nebo podsestavou. Můžete vybrat až tři pole, přičemž každé vybrané pole musí odpovídat souvisejícímu poli ve zdroji dat podformuláře nebo podsestavy.

    • V seznamu Pole podformuláře nebo podsestavy vyberte odpovídající pole v podformuláři nebo podsestavě, která se propojí s poli hlavní sestavy, která jste vybrali.

    • Pokud chcete ponechat podformulář nebo podsestavu bez propojení s hlavní sestavou, musí všechny uvedené seznamy zůstat prázdné.

      Pokračujte kliknutím na Další.

  10. Na poslední stránce průvodce zadejte název podformuláře nebo podsestavy nebo klikněte na Dokončit a potvrďte tak výchozí nastavení.

    Zadání názvu v Průvodci podsestavou

Access přidá ovládací prvek podsestavy do vaší sestavy a vytvoří vazbu tohoto ovládacího prvku (nastaví vlastnost Zdrojový objekt tohoto ovládacího prvku) takto:

  • Pokud jste na první stránce průvodce vybrali možnost Použít existující sestavu nebo formulář, vytvoří se vazba tohoto ovládacího prvku podsestavy na sestavu nebo formulář, který jste určili.

  • Pokud jste na první stránce průvodce vybrali možnost Použít existující tabulky a dotazy, vytvoří se v navigačním podokně nový objekt sestavy a pak se vytvoří vazba ovládacího prvku podsestavy na tento nový objekt sestavy. Název tohoto nového objektu sestavy je stejný jako název, který jste zadali na poslední stránce průvodce.

Přidání tabulky, dotazu, formuláře nebo jiné sestavy do sestavy jako podsestava

Rychlým způsobem, jak do sestavy přidat podsestavu, je otevření hlavní sestavy v zobrazení rozložení nebo v návrhovém zobrazení a následné přetažení objektu z navigačního podokna do této hlavní sestavy. Pokud chcete, aby byla tato podsestava propojená s hlavní sestavou, ujistěte se, že zdroje podkladových záznamů jsou v relaci a že tyto zdroje záznamů obsahují pole, pomocí kterých se má podformulář nebo podsestava propojit s hlavní sestavou.

  1. V navigačním podokně klikněte pravým tlačítkem myši na sestavu, kterou chcete použít jako hlavní sestavu, a v místní nabídce klikněte na příkaz Zobrazení rozložení nebo Návrhové zobrazení.

  2. Přetáhněte tabulku, dotaz, formulář nebo jinou sestavu z navigačního podokna do oddílu hlavní sestavy, ve kterém chcete zobrazit podsestavu.

Provede se jeden z těchto kroků:

  • Pokud Access dokáže určit, jak tyto dva objekty propojit, přidá do sestavy ovládací prvek podsestavy. Když přidáváte formulář nebo sestavu, vytvoří se vazba tohoto ovládacího prvku podsestavy k danému objektu. Když přidáváte tabulku nebo dotaz, nejprve se vytvoří objekt sestavy a pak se vytvoří vazba ovládacího prvku podsestavy k tomuto novému objektu.

  • Pokud Access nedokáže určit, jak tyto dva objekty propojit, zobrazí se Průvodce podsestavou. Pokračujte podle postupu uvedeného v části Použití Průvodce podsestavou k vytvoření podsestavy od kroku 9.

    Po dokončení průvodce se podsestava přidá do sestavy.

Propojení podformuláře nebo podsestavy s hlavní sestavou překontrolujte pomocí následujícího postupu.

  1. Kliknutím vyberte ovládací prvek podsestavy.

  2. Pokud není zobrazený seznam vlastností, zobrazte ho stisknutím klávesy F4.

  3. V seznamu vlastností na kartě Datové zkontrolujte vlastnosti Řídicí propojovací pole a Podřízená propojovací pole.

    • U nepropojeného podformuláře nebo podsestavy by měly být obě tyto vlastnosti prázdné.

    • U propojeného podformuláře nebo podsestavy by ve vlastnostech Řídicí propojovací pole a Podřízená propojovací pole měla být uvedená pole, která jsou pro dané dva objekty ve vzájemné relaci. Pokud například hlavní sestava zobrazuje informace z tabulky Zaměstnanci a podformulář nebo podsestava zobrazuje informace z tabulky Objednávky, mělo by být ve vlastnosti Řídicí propojovací pole uvedené pole Kód z tabulky Zaměstnanci a ve vlastnosti Podřízená propojovací pole by mělo být uvedené pole Kód zaměstnance z tabulky Objednávky.

Možná zjistíte, že pro správnou funkčnost bude potřeba tyto vlastnosti pro podformulář nebo podsestavu upravit. Použijte následující postup.

  1. V seznamu vlastností na kartě Datové klikněte na pole vlastnosti Řídicí propojovací pole a pak klikněte na tlačítko Sestavit Obrázek tlačítka .

    Zobrazí se dialogové okno Propojování polí podsestav.

    Dialogové okno Propojování polí podsestav

  2. V seznamech Řídicí pole a Podřízená pole vyberte pole, pomocí kterých chcete sestavy propojit. Pokud si nejste jisti, která pole použít, klikněte na Navrhnout a Access se pokusí propojovací pole určit. Po dokončení klikněte na OK.

    Pokud se nezobrazuje pole, které chcete použít k propojení sestavy, bude nutné upravit zdroj záznamů hlavní sestavy nebo podformuláře či podsestavy, aby se zajistilo, že dané propojovací pole obsahuje. Pokud je například sestava založená na dotazu, měli byste zkontrolovat, že se dané propojovací pole nachází ve výsledcích dotazu.

  3. Uložte hlavní sestavu, přepněte na zobrazení sestavy a pak ověřte, že sestava funguje očekávaným způsobem.

Přidání tabulky nebo dotazu do sestavy jako datový list

Datový list je jednoduché vizuální znázornění dat, které se podobá tabulce. Každý sloupec v datovém listu představuje pole ve zdrojové tabulce nebo dotazu a každý řádek představuje záznam. K zobrazení datového listu v sestavě můžete použít ovládací prvek Podformulář nebo podsestava. Použití tohoto postupu se hodí v situacích, kdy požadujete kompaktní zobrazení dat, ale nepotřebujete funkce formátování objektu formuláře nebo sestavy. Postup pro přidání datového listu do sestavy:

  1. V navigačním podokně klikněte pravým tlačítkem myši na sestavu, kterou chcete použít jako hlavní sestavu, a v místní nabídce klikněte na příkaz Návrhové zobrazení.

  2. Na kartě Návrh ve skupině Ovládací prvky otevřete galerii Ovládací prvky kliknutím na šipku dolů v pravém dolním rohu:

    Obrázek pásu karet

  3. V nabídce, která se zobrazí, se ujistěte, že není vybraná možnost Použít průvodce ovládacími prvky.

  4. Otevřete znovu galerii Ovládací prvky a pak klikněte na možnost Podformulář nebo podsestava.

  5. V sestavě klikněte na místo, kam chcete podsestavu umístit.

  6. Pokud se spustí Průvodce podsestavou, zavřete ho kliknutím na Storno.

  7. Pokud není zobrazený seznam vlastností, zobrazte ho stisknutím klávesy F4.

  8. V sestavě kliknutím vyberte ovládací prvek nové podsestavy.

  9. V seznamu vlastností na kartě Datové klikněte na šipku v poli vlastnosti Zdrojový objekt a pak klikněte na tabulku nebo dotaz, které chcete zobrazit v ovládacím prvku podsestavy. Pokud například chcete zobrazit tabulku Objednávky, klikněte na Tabulka.Objednávky.

    Access se pokusí propojit daný datový list s hlavní sestavou na základě relací, které jsou definované v databázi.

  10. V seznamu vlastností na kartě Datové zkontrolujte vlastnosti Řídicí propojovací pole a Podřízená propojovací pole.

    • U nepropojeného datového listu ověřte, že jsou obě tyto vlastnosti prázdné.

    • U propojeného datového listu ověřte, že ve vlastnostech Řídicí propojovací pole a Podřízená propojovací pole jsou uvedená pole, která představují relaci hlavní sestavy a datového listu. Pokud například hlavní sestava zobrazuje informace z tabulky Zaměstnanci a datový list zobrazuje informace z tabulky Objednávky, mělo by být ve vlastnosti Řídicí propojovací pole uvedené pole Kód z tabulky Zaměstnanci a ve vlastnosti Podřízená propojovací pole by mělo být uvedené pole Kód zaměstnance z tabulky Objednávky.

V některých případech bude možná potřeba, abyste vlastnosti propojovacích polí nastavili sami. Můžete to udělat pomocí následujícího postupu.

  1. V seznamu vlastností na kartě Datové klikněte na pole vlastnosti Řídicí propojovací pole a pak klikněte na tlačítko Sestavit Obrázek tlačítka .

  2. Pokud se zobrazí dialogové okno s upozorněním zabezpečení, klikněte na Otevřít.

    Zobrazí se dialogové okno Propojování polí podsestav.

    Dialogové okno Propojování polí podsestav

  3. V seznamech Řídicí pole a Podřízená pole vyberte pole, pomocí kterých chcete hlavní sestavu propojit s datovým listem. Pokud si nejste jisti, která pole použít, klikněte na Navrhnout a Access se pokusí propojovací pole určit. Po dokončení klikněte na OK.

    Pokud se nezobrazuje pole, které chcete použít k propojení, bude nutné upravit zdroj záznamů hlavní sestavy nebo datového listu, aby se zajistilo, že dané propojovací pole obsahuje. Pokud je například datový list založený na dotazu, měli byste zkontrolovat, že se dané propojovací pole nachází ve výsledcích dotazu.

  4. Uložte hlavní sestavu, přepněte na zobrazení sestavy a pak ověřte, že sestava funguje očekávaným způsobem.

Začátek stránky

Změny v návrhu podsestavy

Po přidání podsestavy do sestavy může být potřeba provést změny v návrhu podsestavy nebo může být potřeba odkazovat na data podsestavy v hlavní sestavě. Následující části obsahují tipy, jak to udělat.

Otevření podformuláře nebo podsestavy v novém okně v návrhovém zobrazení

Pokud během práce s hlavní sestavou v návrhovém zobrazení chcete provést změny návrhu jejího podformuláře nebo její podsestavy, můžete daný podformulář nebo podsestavu otevřít v samostatném okně.

  1. Kliknutím daný podformulář nebo podsestavu vyberte.

  2. Na kartě Návrh ve skupině Nástroje klikněte na Podsestava v novém okně.

Poznámka: Tento příkaz není dostupný, pokud je ovládací prvek podformuláře nebo podsestavy vázaný na tabulku nebo dotaz.

Zobrazení souhrnu z podsestavy v hlavní sestavě

Předpokládejme, že používáte podsestavu s názvem Podsestava objednávek, která obsahuje textové pole s názvem Dopravné celkem, ve kterém se provádí výpočet součtu hodnot ze sloupce Dopravné. Pokud chcete tento součet z podsestavy zobrazit v hlavní sestavě, musíte do hlavní sestavy přidat textové pole a pak v něm použít výraz odkazující na textové pole Dopravné celkem v podsestavě. Můžete to udělat pomocí následujícího postupu.

  1. V navigačním podokně klikněte pravým tlačítkem na hlavní sestavu a pak v místní nabídce klikněte na Návrhové zobrazení.

  2. Na kartě Návrh ve skupině Ovládací prvky klikněte na Textové pole.

  3. V hlavní sestavě klikněte na místo, kam chcete nové textové pole umístit.

  4. Pokud není zobrazený seznam vlastností, zobrazte ho stisknutím klávesy F4.

  5. V seznamu vlastností na kartě Datové zadejte do pole vlastnosti Zdroj ovládacího prvku následující výraz.

    =IIf(IsError([Podsestava objednávek].[Sestava]![Dopravné celkem]);0;[Podsestava objednávek].[Sestava]![Dopravné celkem])

    Poznámky: 

    • V tomto příkladu můžete použít jednodušší výraz =[Podsestava objednávek].[Sestava]![Dopravné celkem], ale pak se v případě, že daná podsestava nebude obsahovat žádná data, bude v hlavní sestavě zobrazovat #CHYBA. Použití funkce IsError ve funkci IIf, jak se uvádí v prvním výrazu, zajišťuje, aby se v případě, že daná podsestava nevrátí žádná data, v textovém poli v hlavní sestavě zobrazila nula (0).

    • Výraz můžete vytvořit v Tvůrci výrazů tak, že v poli vlastnosti Zdroj ovládacího prvku kliknete na tlačítko Sestavit Obrázek tlačítka .

  6. V seznamu vlastností na kartě Formátové nastavte ve vlastnosti Formát odpovídající hodnotu (v tomto případě Měna).

  7. Uložte sestavu a pak přepněte na zobrazení sestavy a ověřte, že výpočet funguje očekávaným způsobem.

Začátek stránky

Rozšiřte své dovednosti s Office
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.

×