Vytvoření formuláře obsahujícího podformulář (formulář typu 1:N)
Applies ToAccess 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ů. Pro tyto účely jsou vhodným nástrojem podformuláře a Access nabízí několik způsobů, jak vám vytváření podformulářů urychlit.

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, ale je 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. Aplikaci Access tím umožníte automatické vytvoření 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

Požadujete, aby aplikace Access vytvořila hlavní formulář a podformulář a propojila 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 požadujete, aby aplikace Access vytvořila nový podformulář a přidala jej 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. Pokud kliknete na tlačítko Další, zobrazí se v průvodci za předpokladu, že jste před jeho spuštěním správně nastavili relace, dotaz Jak chcete prohlížet data? – tedy podle tabulky nebo formuláře. Vyberte tabulku strany 1 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 v průvodci nezobrazí dotaz Jak chcete prohlížet data?, znamená to, že Access nerozpoznala relaci 1:N mezi vybranými tabulkami a dotazy. Průvodce bude pokračovat, ale Access nemůže dokončit přidání podformuláře do formuláře. 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. Formuláře budou v Accessu pojmenovány na základě zadaných názvů a podformuláře budou označeny na základě názvu podformuláře.

  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ý bude obsahovat ovládací prvek podformuláře, 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. U každého formuláře můžete nastavit, aby Access vytvořil nový formulář nebo pro podformulář použila existující formulář.

  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, bude v aplikaci přidán do formuláře ovládací prvek podformuláře. Pokud zvolíte možnost vytvoření nového formuláře namísto přidání podformuláře do existujícího formuláře, bude vytvořen nový objekt formuláře, který bude přidán 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. Přetáhněte formulář, který chcete použít jako podformulář, z navigačního podokna do hlavního formuláře.

    Do hlavního formuláře je přidán ovládací prvek podformuláře, který je svázán s formulářem přetaženým z navigačního podokna. Access se rovněž 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 nebyl předchozí test proveden úspěšně, nelze určit způsob propojení podformuláře s hlavním formulářem a vlastnosti Podřízená pole propojení a Řídicí propojovací pole ovládacího prvku podformuláře jsou ponechány 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 jisti, která pole použít, klikněte na Doporučit a Access se pokusí propojovací pole určit.

    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

Pokud přidáte podformulář do formuláře, zobrazuje se ovládací prvek podformulářů či podsestav na základě vlastnosti Výchozí zobrazení podformuláře. 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: Chcete-li použít zobrazení, které seznam neobsahuje, ověřte, zda je u tohoto zobrazení vlastnost „Povolit…Zobrazení“ nastavena na hodnotu 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ář nebo podsestavu, který zobrazí data v tomto 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.

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.