Když v Accessu pracujete s relačními daty, často potřebujete zobrazit několik tabulek nebo dotazů ve stejném formuláři. Můžete například chtít zobrazit zároveň data o zákaznících z jedné tabulky a informace o objednávkách zákazníků z další tabulky. S tím vám podformuláře pomůžou a Access nabízí několik způsobů, jak je vytvořit.
V tomto článku
- Více o podformulářích
- Vytvoření nebo přidání podformuláře
- Vytvoření formuláře s podformulářem pomocí Průvodce formulářem
- Přidání jednoho či více podformulářů do existujícího formuláře pomocí Průvodce podformulářem
- Vytvoření podformuláře přetažením formuláře
- Otevření podformuláře v novém okně v návrhovém zobrazení
- Změna výchozího zobrazení podformuláře
- Přidání souvisejících dat do formuláře bez vytvoření podformuláře
Více o podformulářích
Podformulář je formulář vložený do jiného formuláře. Primární formulář se nazývá hlavní formulář a přiložený formulář se nazývá podformulář. Kombinace formuláře s podformulářem se někdy nazývá hierarchický formulář, hlavní a dílčí formulář nebo nadřízený a podřízený formulář.
Podformuláře jsou vhodné zejména v případě, že chcete zobrazit data z tabulek nebo dotazů s relací 1:N. V tomto typu relace odpovídá hodnota primárního klíče každého záznamu v primární tabulce hodnotě v odpovídajícím poli nebo polích mnoha záznamů v související tabulce. Můžete například vytvořit formulář zobrazující údaje o zaměstnancích a podformulář zobrazující objednávky jednotlivých zaměstnanců. Data v tabulce Zaměstnanci představují stranu 1 této relace. Data v tabulce Objednávky představují stranu N této relace, protože každý zaměstnanec může mít víc než jednu objednávku.
V hlavním formuláři jsou zobrazena data ze strany 1 této relace.
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 Marie.
V následující tabulce jsou definovány pojmy související s podformuláři. Pokud použijete postupy uvedené v tomto článku, aplikace Access většinu detailů zpracuje. Pro případ, že byste později potřebovali provést změny, je užitečné vědět, co se děje na pozadí.
| Pojem | 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ž Default View vlastnost je nastavena na hodnotu Datasheet. 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čuje pole podformuláře, která jej 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á jej budou s podformulářem propojena. |
Poznámka
- 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, která jste do formuláře umístili. Můžete ho 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
[Quantity] * [Unit price]. - 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.
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 to také nejrychlejší způsob, jak můžete začít.
Na kartě Vytvořit klikněte ve skupině Formuláře na Průvodce formulářem.
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ží..
V tabulce nebo dotazu poklikejte na názvy polí, která chcete použít.
Z rozevíracího seznamu Tabulky či dotazy na stejné stránce Průvodce vyberte další tabulku nebo dotaz. V tomto příkladu vyberte tabulku Objednávky (strana N vztahu 1:N).
V tabulce nebo dotazu poklikejte na názvy polí, která chcete použít.
Pokud kliknete na tlačítko Další, za předpokladu, že jste před spuštěním průvodce správně nastavili relace, průvodce se zeptá: Jak chcete prohlížet data? – tedy podle tabulky či formuláře. Vyberte tabulku strany N relace 1:N. Chcete-li například vytvořit formulář Zaměstnanci, vyberte možnost Podle zaměstnanců. Průvodce zobrazí malý diagram formuláře. Stránka by měla vypadat takto:
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.
V dolní části stránky průvodce vyberte položku Formulář s podformuláři a klikněte na tlačítko Další.
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 poskytuje více možností. 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ší.
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ář.
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.
Zadejte, zda 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. Potom klikněte na tlačítko Dokončit. Access vytvoří dva formuláře – jeden pro hlavní formulář, který obsahuje ovládací prvek podformuláře, a jeden pro samotný podformulář.
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ář.
- 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í.
- Na kartě Návrh formuláře ve skupině Ovládací prvky zobrazte galerii ovládacích prvků kliknutím na šipku dolů. Ověřte, zda je vybrána možnost Použít průvodce ovládacími prvky .
- Na kartě Návrh formuláře klikněte ve skupině Ovládací prvky na tlačítko Podformulář nebo podsestava .
- Klikněte na formulář, do kterého chcete podformulář umístit.
- 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 přidat do něj jeden nebo více podformulářů.
- 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í.
- 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.
- Chcete-li přidat do hlavního formuláře další podformuláře, opakujte tento krok.
- 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 Link Child Fields vlastnosti a Link Master Fields ovládacího prvku podformuláře jsou prázdné. Vlastnosti je nutné je nastavit ručně pomocí následujícího postupu:
Klikněte pravým tlačítkem myši na hlavní formulář v navigačním podokně a potom klikněte na Návrhové zobrazení.
Kliknutím na ovládací prvek podformuláře jej vyberte.
Pokud není zobrazeno podokno úloh Seznam vlastností, zobrazte jej stisknutím klávesy F4 .
V části Seznam vlastností klikněte na kartu Data.
Klikněte na tlačítko Vytvořit vedle
Link Child Fieldspole vlastnosti.
Zobrazí se dialogové okno Propojování polí podformulářů .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, aby bylo toto pole zahrnuto. Pokud je například formulář založen na dotazu, zkontrolujte, zda se propojené pole nachází ve výsledcích dotazu..
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ě:
- Kliknutím podformulář vyberte.
- Na kartě Návrh formuláře klikněte ve skupině Nástroje na tlačítko Podformulář v novém okně.
Změna výchozího zobrazení podformuláře
Pokud přidáte podformulář do formuláře, zobrazuje se ovládací prvek podformulářů či podsestav podle vlastností podformuláře Default View . 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 může být tato vlastnost nastavena na hodnotu Nekonečné formuláře nebo Samostatný formulář. Pokud však nastavíte Default View vlastnost podformuláře na Datasheethodnotu , zobrazí se podformulář v hlavním formuláři jako datový list.
Nastavení Default View vlastnosti podformuláře:
Zavřete veškeré otevřené objekty.
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í.
Pokud není zobrazen seznam vlastností, zobrazte jej stisknutím klávesy F4 .
Ověřte, zda v rozevíracím seznamu v horní části seznamu vlastností byla vybrána položka Formulář.
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, zkontrolujte, jestli
Allow...Viewje vlastnost tohoto zobrazení nastavená 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.Podformulář uložte a zavřete, poté otevřete hlavní formulář a ověřte výsledky.
Přidání souvisejících dat do formuláře bez vytvoření podformuláře
Pokud chcete zobrazit související data, není pokaždé nutné vytvářet 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áře či podsestavy, který zobrazí data v daném objektu. Vlastnosti objektu Default View určují způsob zobrazení dat. Obvykle bývá nastavená na zobrazení Datový list, ale můžete taky nastavit vlastnost tabulky nebo dotazu Default View na samostatný formulář, rozdělený formulář nebo nekonečné formuláře, což umožňuje pružněji zobrazovat související data ve formulářích.
Poznámka
Změna vlastnosti tabulky nebo dotazu Default View ovlivňuje způsob, jakým se zobrazí při otevření, ať už tabulku nebo dotaz otevřete z navigačního podokna nebo je zobrazíte v ovládacím 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.