Vytvoření formuláře obsahujícího podformulář (formulář typu 1:N)
Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Při práci s relačními daty (souvisejícími daty uloženými v samostatných tabulkách) v Access často potřebujete zobrazit více tabulek nebo dotazů ve stejném formuláři. V jedné tabulce například potřebujete zobrazit data o zákaznících a v další tabulce zároveň informace o objednávkách zákazníků. Podformuláři jsou k tomu vhodným nástrojem a Access nabízí několik způsobů, jak rychle vytvořit podformulář.

V tomto článku

Více o podformulářích

Podformulář je formulář vložený do jiného formuláře. Primární formulář se nazývá hlavní formulář a vložený formulář se nazývá podformulář. Kombinace formuláře s podformulářem se někdy označuje jako hierarchický formulář, hlavní a dílčí formulář nebo nadřízený a podřízený formulář.

Podformuláři jsou zvlášť efektivní, když chcete zobrazit data z tabulek nebo dotazů, které mají relaci 1:N. Relace 1:N je přidružení mezi dvěma tabulkami, ve kterém hodnota primárního klíče každého záznamu v primární tabulce odpovídá hodnotě odpovídajícího pole nebo polí mnoha záznamů v související tabulce. Můžete například vytvořit formulář, který zobrazuje data zaměstnanců a obsahuje podformulář zobrazující objednávky jednotlivých zaměstnanců. Data v tabulce Employees (Zaměstnanci) jsou na straně "1" relace. Data v tabulce Orders jsou na straně "N" relace – každý zaměstnanec může mít více než jednu objednávku.

A form that contains a subform

1. V hlavním formuláři jsou zobrazena data ze strany 1 této relace.

2. V podformuláři jsou zobrazena data ze strany N této relace.

Hlavní formulář a podformulář jsou v tomto typu formuláře propojeny tak, že podformulář zobrazuje pouze záznamy, které se vztahují k aktuálnímu záznamu v hlavním formuláři. Pokud například formulář zobrazuje údaje o Marii Markové, zobrazuje podformulář pouze její objednávky. Pokud není formulář s podformulářem propojený, zobrazí se v podformuláři všechny objednávky, nejen objednávky Markéty.

Následující tabulka definuje některé terminologii, která je přidružena k podformuláři. Access většinu podrobností zpracuje, pokud použijete postupy v tomto článku, je ale užitečné vědět, co se děje na pozadí, pokud budete později potřebovat provést změny.

Termín

Definice

Ovládací prvek podformuláře

Ovládací prvek, který vnoří formulář do jiného formuláře. Ovládací prvek podformuláře lze považovat za „náhled“ jiného objektu v databázi, ať se již jedná o jiný formulář, tabulku nebo dotaz. Ovládací prvek podformuláře obsahuje vlastnosti, které umožňují propojení dat zobrazených v ovládacím prvku s daty v hlavním formuláři.

Vlastnost Zdrojový objekt

Vlastnost ovládacího prvku podformuláře, která určuje objekt zobrazený v ovládacím prvku.

Datový list

Jednoduchý způsob zobrazení dat v řádcích a sloupcích, který je velmi podobný tabulce. Ovládací prvek podformuláře zobrazí datový list, pokud je jeho zdrojovým objektem tabulka či dotaz nebo pokud je jeho zdrojovým objektem formulář, jehož vlastnost Výchozí zobrazení je nastavena na hodnotu Datový list. V těchto případech se podformulář někdy označuje jako datový list nebo podřízený datový list.

Vlastnost Podřízená pole propojení

Vlastnost ovládacího prvku podformuláře určující pole podformuláře, která budou propojena s hlavním formulářem.

Vlastnost Řídicí propojovací pole

Vlastnost ovládacího prvku podformuláře určující pole hlavního formuláře, která budou propojena s podformulářem.

Poznámky: 

  • Nejlepších výsledků dosáhnete, pokud před použitím postupů v tomto článku vytvoříte relace mezi tabulkami. To umožňuje Access automaticky vytvářet propojení mezi podformuláři a hlavními formuláři. Pokud chcete zobrazit, přidat nebo upravit relace mezi tabulkami v databázi, klikněte na kartě Databázové nástroje ve skupině Relace na Relace.

  • Pokud je zdrojovým objektem ovládacího prvku podformuláře formulář, obsahuje pole umístěná do formuláře a lze jej zobrazit jako samostatný formulář, průběžný formulář nebo datový list. Jednou z výhod založení formuláře na objektu formuláře je možnost přidávat do podformuláře počítaná pole, například [Množství] * [Jednotková cena].

  • Datový list nebo kontingenční zobrazení můžete do formuláře vložit také vytvořením ovládacího prvku podformuláře, jehož zdrojovým objektem je tabulka nebo dotaz. Další informace naleznete v části Přidání souvisejících dat do formuláře bez vytvoření podformuláře.

Začátek stránky

Vytvoření nebo přidání podformuláře

Pomocí následující tabulky zjistíte, který postup je pro vás nejvhodnější.

Scénář

Doporučený postup

Chcete Access vytvořit hlavní i podformulář a propojit podformulář s hlavním formulářem.

Vytvoření formuláře s podformulářem pomocí Průvodce formulářem

Chcete použít existující formulář jako hlavní formulář, ale chcete, aby Access vytvořili nový podformulář a přidali ho do hlavního formuláře.

Přidání jednoho či více podformulářů do existujícího formuláře pomocí Průvodce podformulářem

Chcete použít existující formulář jako hlavní formulář a chcete do tohoto formuláře přidat jeden či několik podformulářů.

Vytvoření podformuláře přetažením formuláře

Vytvoření formuláře s podformulářem pomocí Průvodce formulářem

Na základě tohoto postupu vytvoříte pomocí Průvodce formulářem kombinaci nového formuláře a podformuláře. Pokud jste ještě nevytvořili formuláře, které chcete použít jako hlavní formulář nebo podformulář, je tento postup nejrychlejším způsobem, jak můžete začít.

  1. Na kartě Vytvořit klikněte ve skupině Formuláře na položku Průvodce formulářem.

  2. Z rozevíracího seznamu Tabulky či dotazy na první stránce průvodce vyberte tabulku nebo dotaz. Chcete-li například vytvořit formulář Zaměstnanci, který v podformuláři zobrazuje jednotlivé zaměstnance, vyberte položku Tabulka: Zaměstnanci (strana 1 vztahu 1:N).

    Poznámka: Na pořadí výběru tabulek nebo dotazů nezáleží..

  3. V tabulce nebo dotazu poklikejte na názvy polí, která chcete použít.

  4. Z rozevíracího seznamu Tabulky nebo dotazy na stejné stránce průvodce vyberte další tabulku nebo dotaz. Vyberte v tomto příkladu tabulku Objednávky (strana N vztahu 1:N).

  5. V tabulce nebo dotazu poklikejte na názvy polí, která chcete použít.

  6. Když kliknete na Další, za předpokladu, že jste relace správně nastavili před spuštěním průvodce, průvodce se zeptá , jak chcete zobrazit data? – tedy podle které tabulky nebo dotazu. Vyberte tabulku strany N relace 1:N. Chcete-li například vytvořit formulář Zaměstnanci, klikněte na položku Podle zaměstnanců. Průvodce zobrazí malý diagram formuláře. Stránka by měla vypadat takto:

    Stránka podformuláře v Průvodci formuláře

    Pole v dolní části tohoto formuláře znázorňuje podformulář.

    Poznámka: Pokud se průvodce neptá , jak chcete zobrazit data?, znamená to, že Access nerozpoznala relaci 1:N mezi tabulkami nebo dotazy, které jste vybrali. Průvodce bude pokračovat, ale Access do formuláře nepřidá podformulář. Než budete pokračovat, můžete kliknout na tlačítko Zrušit a prověřit relace mezi tabulkami.

  7. V dolní části stránky průvodce vyberte položku Formulář s podformuláři a klikněte na tlačítko Další.

  8. Na stránce Jaké rozložení má mít podformulář? klikněte na požadované rozložení a poté klikněte na tlačítko Další. U obou stylů rozložení jsou data podformulářů uspořádána do řádků a sloupců, tabulkové rozložení však nabízí větší možnosti úprav. V tabulkovém rozložení podformuláře lze přidávat barvy, grafiku a další prvky formátování, zatímco datový list je podobně jako zobrazení datového listu u tabulky kompaktnější.

  9. Na další stránce průvodce vyberte pro formulář styl formátování a potom klikněte na Další. Pokud jste na předchozí stránce vybrali Tabulkové, použije se vybraný styl formátování i na podformulář.

  10. Na poslední stránce průvodce zadejte požadované názvy formuláře. Access pojmenujte formuláře na základě názvů, které zadáte, a podformulář označí na základě názvu, který zadáte pro podformulář.

  11. Zadejte, jestli chcete formulář otevřít ve formulářovém zobrazení, abyste mohli zobrazit nebo zadat informace, nebo v návrhovém zobrazení, abyste mohli změnit jeho návrh. Pak klikněte na Dokončit.

    Access vytvoří dva formuláře – jeden pro hlavní formulář, který obsahuje ovládací prvek podformulář, a jeden pro samotný podformulář.

Začátek stránky

Přidání jednoho či více podformulářů do existujícího formuláře pomocí Průvodce podformulářem

Tímto postupem můžete přidat jeden nebo více podformulářů do existujícího formuláře. Pro každý podformulář můžete zvolit, že Access vytvořit nový formulář, nebo použít existující formulář jako podformulář.

  1. V navigačním podokně klikněte pravým tlačítkem myši na existující formulář a pak klikněte na Návrhové zobrazení.

  2. Na kartě Návrh formuláře klikněte ve skupině Ovládací prvky na šipku dolů, aby se zobrazila galerie Ovládací prvky , a ujistěte se, že je vybraná možnost Použít průvodce ovládacími prvky .

  3. Na kartě Návrh formuláře klikněte ve skupině Ovládací prvky na tlačítko Podformulář/Podsestava .

  4. Ve formuláři klikněte na místo, kam chcete podformulář umístit.

  5. Postupujte podle pokynů v průvodci.

    Když kliknete na Dokončit, Access přidá do formuláře ovládací prvek podformulář. Pokud jste se rozhodli mít Access vytvořit nový formulář pro podformulář místo použití existujícího formuláře, Access vytvoří nový objekt formuláře a přidá ho do navigačního podokna.

Vytvoření podformuláře přetažením formuláře

Postupujte tímto způsobem, pokud chcete použít existující formulář jako hlavní formulář a pokud chcete přidat jeden nebo více podformulářů do existujícího formuláře.

  1. V navigačním podokně klikněte pravým tlačítkem myši na formulář, který chcete použít jako hlavní formulář a poté klikněte na položku Zobrazení rozložení.

  2. Formulář, který chcete použít jako podformulář, přetáhněte z navigačního podokna do hlavního formuláře.

    Access přidá ovládací prvek podformulář do hlavního formuláře a vytvoří vazbu ovládacího prvku na formulář, který jste přetáhli z navigačního podokna. Access se také pokusí propojit podformulář s hlavním formulářem na základě relací definovaných v databázi.

  3. Chcete-li přidat do hlavního formuláře další podformuláře, opakujte tento krok.

  4. Chcete-li ověřit úspěšnost propojení, klikněte na kartě Domů ve skupině Zobrazení na položku Zobrazení a poté na položku Formulářové zobrazení a pomocí voliče záznamů hlavního formuláře můžete procházet několik záznamů. Pokud proběhne filtrování podformuláře každého zaměstnance v pořádku, je postup dokončen.

Pokud předchozí test nefunguje, Access nebyl schopen určit, jak propojit podformulář s hlavním formulářem, a podřízená pole propojení a hlavní propojovací pole ovládacího prvku podformuláře jsou prázdné. Vlastnosti je nutné je nastavit ručně pomocí následujícího postupu:

  1. Klikněte pravým tlačítkem myši na hlavní formulář v navigačním podokně a potom klikněte na Návrhové zobrazení.

  2. Kliknutím na ovládací prvek podformuláře jej vyberte.

  3. Pokud není zobrazeno podokno úloh Seznam vlastností, zobrazte jej stisknutím klávesy F4.

  4. V části Seznam vlastností klikněte na kartu Data.

  5. Klikněte na tlačítko Sestavit Tlačítko Tvůrce vedle pole vlastnosti Propojit podřízená pole .

    Zobrazí se dialogové okno Propojování polí podformulářů.

  6. Vyberte v rozevíracích seznamech Řídicí pole a Podřízená pole příslušná pole, která chcete propojit s formuláři, a klikněte na OK. Pokud si nejste jistí, která pole použít, klikněte na Navrhnout , aby se Access pokusili určit propojovací pole.

    Tip: Pokud se nezobrazí pole, které chcete použít k propojení formulářů, bude pravděpodobně nutné upravit zdroj záznamů hlavního nebo podřízeného formuláře a ověřit, zda se v něm toto pole nachází. Pokud je například formulář založen na dotazu, zkontrolujte, zda se propojené pole nachází ve výsledcích dotazu..

  7. Uložte hlavní formulář, přejděte do formulářového zobrazení a zkontrolujte, zda formulář pracuje požadovaným způsobem.

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

Pokud chcete provést změny návrhu podformuláře, když pracujete na hlavním formuláři v návrhovém zobrazení, můžete podformulář otevřít v samostatném okně:

  1. Kliknutím podformulář vyberte.

  2. Na kartě Návrh formuláře klikněte ve skupině Nástroje na Podformulář v novém okně.

Začátek stránky

Změna výchozího zobrazení podformuláře

Když do formuláře přidáte podformulář, ovládací prvek podformulář/podsestava zobrazí podformulář podle vlastnosti Výchozí zobrazení podformulář. Pro tuto vlastnost lze nastavit následující hodnoty:

  • Samostatný formulář

  • Nekonečné formuláře

  • Datový list

  • Rozdělený formulář

Při prvním vytváření podformuláře je tato vlastnost pravděpodobně nastavena na hodnotu Nekonečné formuláře, případně Samostatný formulář. Pokud však u formuláře nastavíte vlastnost Výchozí zobrazení na hodnotu Datový list, bude podformulář v hlavním formuláři zobrazen jako datový list.

Nastavení vlastnosti Výchozí zobrazení podformuláře:

  1. Zavřete veškeré otevřené objekty.

  2. V navigačním podokně klikněte pravým tlačítkem myši na podformulář a poté klikněte na příkaz Návrhové zobrazení.

  3. Pokud není zobrazen Seznam vlastností, zobrazte jej stisknutím klávesy F4.

  4. Ověřte, zda v rozevíracím seznamu v horní části seznamu vlastností byla vybrána položka Formulář.

  5. Na seznamu vlastností na kartě Formát nastavte vlastnost Výchozí zobrazení na zobrazené, které chcete použít.

    Poznámka: Pokud zobrazení, které chcete použít, není v seznamu, ujistěte se, že možnost Povolit... Vlastnost View" pro zobrazení je nastavená na Ano. Chcete-li například použít jako výchozí zobrazení formuláře možnost Datový list, ověřte, zda je vlastnost Povolit zobrazení datového listu nastavena na hodnotu Ano.

  6. Podformulář uložte a zavřete, poté otevřete hlavní formulář a ověřte výsledky.

Začátek stránky

Přidání souvisejících dat do formuláře bez vytvoření podformuláře

Pro zobrazení souvisejících dat není vždy nutné vytvořit samostatný objekt formuláře. Pokud například pracujete na formuláři v zobrazení rozložení nebo návrhovém zobrazení a přetáhnete tabulku nebo dotaz z navigačního podokna do formuláře, Access vytvoří ovládací prvek podformulář/podsestava, který zobrazí data v daném objektu. Vlastnost Výchozí zobrazení objektu určuje způsob zobrazení dat. Obvykle je tato možnost nastavená na zobrazení Datový list, ale můžete také nastavit vlastnost Výchozí zobrazení tabulky nebo dotazu na jeden formulář, rozdělený formulář nebo průběžný Forms, což vám umožní větší flexibilitu při zobrazení souvisejících dat ve formulářích.

Poznámka: Změna hodnoty Výchozí zobrazení tabulky nebo dotazu ovlivňuje způsob zobrazení při otevření, ať už tabulku nebo dotaz otevřete z navigačního podokna nebo je zobrazíte pomocí ovládacího prvku podformulář či podsestava. Vzhledem k tomu, že změny nastavení zobrazení tabulky mohou při jejím otevření z navigačního podokna způsobit zmatek, doporučujeme pro tento postup namísto tabulky spíše dotaz.

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.