Pokud máte dlouhý formulář s více položkami, můžete se někdy chtít rychle "procházet k podrobnostem" a zobrazit další informace o jedné položce. V Accessu to můžete udělat propojením formuláře s více položkami s formulářem s jednou položkou. Když kliknete na položku ve formuláři s více položkami, otevře se formulář s jednou položkou, ve které se zobrazí podrobnosti.
Vytvoření formulářů
Ve většině případů jsou tyto dva formuláře v konfiguraci přechodu k podrobnostem založené na stejné tabulce nebo dotazu. Pokud už máte dvojici formulářů, které chcete použít (jedna z nich je datový list nebo formulář s více položkami, a druhý formulář s jednou položkou nebo formulář s podrobnostmi), můžete tento oddíl přeskočit. V opačném případě je vytvořte pomocí těchto postupů:
Vytvoření datového listu nebo formuláře s více položkami:
-
V navigačním podokně vyberte tabulku nebo dotaz obsahující data, která chcete zobrazit ve formuláři datového listu.
-
Klikněte na >Další formulářea potom klikněte na Více položek nebo Datový list podletoho, jaký druh chcete.
-
Proveďte požadované změny návrhu. Zvažte odstranění co nejvíce sloupců a ponechání dostatečného množství informací k identifikaci jednotlivých položek.
-
Uložte a zavřete formulář.
Další informace o formulářích s více položkami najdete v tématu Vytvoření formuláře pomocí nástroje Více položek.
Vytvoření formuláře s jednou položkou nebo "podrobnostmi":
-
V navigačním podokně vyberte tabulku nebo dotaz obsahující data, která chcete zobrazit v podrobném formuláři. Pravděpodobně se jedná o stejnou tabulku nebo dotaz, který jste použili v prvním formuláři.
-
Klikněte na >Formuláře.
-
Proveďte požadované změny návrhu a pak formulář uložte a zavřete.
Další informace najdete v článku o vytvoření formuláře pomocí nástroje Formulář.
Přidání logiky, která otevře formulář podrobností
Teď můžete do formuláře s více položkami nebo datovým listem přidat malé makro. Makro otevře formulář podrobností a zajistí, aby byla zobrazena správná položka.
Pokud jste s makremi moc nedělali, nemusíte si dělat starosti. Můžete jenom zkopírovat a vložit xml, který najdete v tomto postupu.
-
Pokud používáte formulář datového listu, otevřete ho tak, že na něj poklikáte v navigačním podokně. U formuláře s více položkami klikněte pravým tlačítkem myši v navigačním podokně a potom klikněte na příkaz Zobrazení rozložení.
-
Stisknutím klávesy F4 otevřete seznam vlastností (pokud ještě není otevřený).
-
Klikněte na sloupec, do kterého chcete makro přidat. Toto bude sloupec, na který kliknete a po dokončení makra se otevře formulář podrobností. Na obrázku nahoře se makro přidá do sloupce ID frmContactList.
Tip: Makro můžete přidat do více sloupců.
-
V Seznamu vlastností na kartě Událost klikněte do pole vlastnosti Při kliknutí nebo Při kliknutí (podle toho, jestli se má formulář otevřít jediným kliknutím nebo poklikáním na pole) a potom klikněte na tlačítko Sestavit .
-
Pokud access zobrazí výzvu k výběru tvůrce, vyberte Tvůrce maker a klikněte na OK.
-
Vyberte tento blok XML a stisknutím Ctrl+C ho zkopírujte do schránky:
<?xml version="1.0" encoding="UTF-16" standalone="no"?> <UserInterfaceMacros xmlns="http://schemas.microsoft.com/office/accessservices/2009/11/application"> <UserInterfaceMacro For="ID" Event="OnClick"><Statements><Action Name="OnError"><Argument Name="Goto">Macro Name</Argument><Argument Name="MacroName">ErrorHandler</Argument></Action> <ConditionalBlock><If><Condition>[Form].[Dirty]</Condition><Statements><Action Name="SaveRecord"/></Statements></If></ConditionalBlock> <ConditionalBlock><If><Condition>IsNull([ID])</Condition><Statements><Comment>Open the form to a new record if the current ID is Null</Comment><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="DataMode">Add</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="Requery"/></Statements></If><Else><Statements><Comment>Use a TempVar to pass a filter to the OpenForm action</Comment><Action Name="SetTempVar"><Argument Name="Name">Contact_ID</Argument><Argument Name="Expression">[ID]</Argument></Action><Action Name="OpenForm"><Argument Name="FormName">frmContactDetails</Argument><Argument Name="WhereCondition">[ID]=[TempVars]![Contact_ID]</Argument><Argument Name="DataMode">Edit</Argument><Argument Name="WindowMode">Dialog</Argument></Action><Action Name="RemoveTempVar"><Argument Name="Name">Contact_ID</Argument></Action><Action Name="RefreshRecord"/></Statements></Else></ConditionalBlock> </Statements></UserInterfaceMacro></UserInterfaceMacros> -
Klikněte do prázdné oblasti Tvůrce maker (přímo pod rozevíracím seznamem Přidat novou akci) a stisknutím kláves Ctrl+V vložte akce makra. Pokud všechno půjde dobře, kód XML v Tvůrci maker se nezobrazí vůbec – rozšíří se do čitelných bloků maker, jak je znázorněno v dalším kroku.
-
V případě potřeby nahraďte název formuláře (frmContactDetails) a název (ID) propojovacího sloupce názvem formuláře a sloupcem, který používáte k propojení těchto dvou formulářů. Na následujícím obrázku uvedená místa, kde možná budete muset udělat úpravy, aby odpovídaly názvům vašich identifikátorů:
-
On the Design tab, click Save and then Close.
-
Pokud chcete, aby se sloupce s možnostmi kliknutí objevily jako hypertextový odkaz, aby lidé věděli, že na něj mohou kliknout, zkontrolujte, jestli je sloupec stále vybraný, v Seznamu vlastností klikněte na kartu Formát a nastavte vlastnost Zobrazit jako hypertextový odkaz na vždy.
-
Uložte a zavřete formulář, znovu ho otevřete a otestujte makro kliknutím nebo poklikáním na upravený sloupec.
Další informace o makrech v desktopových databázích najdete v tématu Přidání logiky k ovládacímu prvku v desktopové databázi.
Jiné typy propojení formulářů
Pokud chcete vytvořit kombinaci formuláře s podformulářem a propojit ji dohromady, podívejte se na článek Vytvoření formuláře obsahujícího podformulář (formulář 1:M).
Pokud chcete vytvořit formulář, který je propojený se zdrojem dat, třeba tabulkou nebo dotazem, najdete další informace v tématu Vytvoření formuláře pomocí nástroje Formulář.