Přihlásit se pomocí účtu Microsoft
Přihlaste se nebo si vytvořte účet.
Dobrý den,
Vyberte jiný účet.
Máte více účtů.
Zvolte účet, pomocí kterého se chcete přihlásit.

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

Podsestava je sestava, která je vložena do jiné sestavy. Při kombinování sestav musí jedna z nich sloužit jako hlavní sestava, která obsahuje druhou sestavu. Hlavní sestava je buď svázaná , nebo nevázaná. Vázaná sestava je sestava, která může zobrazovat data, a má tabulku, Dotaz nebo příkaz JAZYKa SQL zadaný ve své vlastnosti Zdroj záznamů . Nevázaná sestava je sestava, která není založená na tabulce, dotazu nebo příkazu SQL (to znamená, že vlastnost Zdroj záznamů sestavy je 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.

Unbound main report with two subreports displaying unrelated data

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

Main report and subreport bound to the same record source

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

Main report with two subreports displaying related data

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žena na tabulce s Primární klíč a podformulář nebo podsestava je založena na tabulce, která obsahuje pole se stejným názvem jako primární klíč a má stejný nebo kompatibilní Datový typ. Pokud je například primárním klíčem tabulky podkladové pro hlavní sestavu pole Automatické číslo a jeho vlastnost FieldSize je nastavena na dlouhé celé číslo, odpovídající pole v tabulce, která je podkladem podformulář nebo podsestava, musí být pole Číslo s jeho vlastností FieldSize nastavenou na Dlouhé celé číslo. Pokud jako zdroj záznamů podformulář nebo podsestavy vyberete 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.

    Choosing fields in the Subreport Wizard

    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 suggests fields to link in the Subreport Wizard

    Můžete vybrat návrh propojení, který se zdá být pro vaši situaci nejvhodnější, nebo pokud nechcete, aby byla podsestava propojená s hlavní sestavou, vyberte Žá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í.

    Defining your own links in the Subreport Wizard

    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.

    Subreport Field Linker dialog box

  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.

    Subreport Field Linker dialog box

  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

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.

Byly tyto informace užitečné?

Jak jste spokojeni s kvalitou jazyka?
Co ovlivnilo váš názor?
Po stisknutí tlačítka pro odeslání se vaše zpětná vazba použije k vylepšování produktů a služeb Microsoftu. Váš správce IT bude moci tato data shromažďovat. Prohlášení o zásadách ochrany osobních údajů.

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

×