Pri práci s relačnými údajmi v Accesse je často potrebné, aby sa v rovnakom formulári zobrazili viaceré tabuľky alebo dotazy. Môže byť napríklad potrebné zobraziť údaje zákazníka z jednej tabuľky a súčasne informácie o objednávke zákazníka z inej tabuľky. Podformuláre to uľahčujú a Access vám ponúka niekoľko rýchlych spôsobov na ich vytvorenie.
Čo vás zaujíma?
- Informácie o podformulároch
- Vytvorenie alebo pridanie podformulára
- Vytvorenie formulára s podformulárom pomocou Sprievodcu formulárom
- Pridanie podformulárov do existujúceho formulára pomocou Sprievodcu podformulárom
- Vytvorenie podformulára pomocou presunutia jedného formulára do druhého
- Otvorenie podformulára v novom okne v návrhovom zobrazení
- Zmena predvoleného zobrazenia podformulára
- Pridanie súvisiacich údajov do formulára bez vytvorenia podformulára
Informácie o podformulároch
Podformulár je formulár, ktorý je vložený do iného formulára. Primárny formulár sa nazýva hlavný formulár a uzavretý formulár sa nazýva podformulár. Kombinácia formulára a podformulára sa niekedy nazýva hierarchický formulár, hlavný/podrobný formulár alebo nadradený/podradený formulár.
Podformuláre sú vhodné najmä vtedy, keď chcete zobraziť údaje z tabuliek alebo dotazov so vzťahom typu "one-to-many". V tomto type vzťahu zodpovedá hodnota primárneho kľúča každého záznamu v primárnej tabuľke hodnote v zodpovedajúcom poli alebo poliach viacerých záznamov v súvisiacej tabuľke. Môžete napríklad vytvoriť formulár, v ktorom sú zobrazené údaje o zamestnancoch, a podformulár, v ktorom sa zobrazia objednávky každého zamestnanca. Stranou „one“ v tomto vzťahu sú údaje v tabuľke Zamestnanci. Stranou "many" v tomto vzťahu sú údaje z tabuľky Objednávky, pretože každý zamestnanec môže mať viac ako jednu objednávku.
Hlavný formulár zobrazuje údaje z tabuľky na strane "one" v danom vzťahu.
Podformulár zobrazuje údaje z tabuľky na strane "many" v danom vzťahu.
Hlavný formulár a podformulár v tomto type formulára sú navzájom prepojené, preto podformulár zobrazuje iba záznamy, ktoré súvisia s aktuálnym záznamom v hlavnom formulári. Ak sú napríklad v hlavnom formulári zobrazené informácie Viery Kalnákovej, v podformulári sa zobrazia iba jej objednávky. Ak by formulár a podformulár neboli prepojené, v podformulári by sa zobrazili všetky objednávky, nie iba Vierine objednávky.
V nasledujúcej tabuľke sú definované pojmy týkajúce sa podformulárov. Ak použijete postupy v tomto článku, Access zvládne väčšinu podrobností, ale pomôže vám poznať, čo sa deje v pozadí, ak by ste neskôr potrebovali urobiť zmeny.
| Výraz | Definícia |
|---|---|
| Ovládací prvok Podformulár | Ovládací prvok, ktorý vloží formulár do druhého formulára. Podformulár možno považovať za zobrazenie iného objektu databázy, či už ide o ďalší formulár, tabuľku alebo dotaz. Pomocou vlastností ovládacieho prvku podformulára je možné prepojiť údaje zobrazené v ovládacom prvku na údaje v hlavnom formulári. |
| Vlastnosť Zdrojový objekt | Vlastnosť ovládacieho prvku podformulára, ktorá určuje, aký objekt sa zobrazí v ovládacom prvku. |
| Údajový hárok | Jednoduché zobrazenie údajov v riadkoch a stĺpcoch, podobne ako v tabuľke. Ak je zdrojovým objektom formulára tabuľka alebo dotaz, prípadne ak je zdrojovým objektom formulár, ktorého Default View vlastnosť je nastavená na Datasheethodnotu , ovládací prvok podformulára zobrazí údajový hárok . V takýchto prípadoch sa podformulár nezvykne nazývať podformulár, ale údajový hárok alebo podriadený údajový hárok. |
| Vlastnosť Prepájať podriadené polia | Vlastnosť ovládacieho prvku podformulára určujúca, ktoré polia v podformulári ho prepájajú s hlavným formulárom. |
| Vlastnosť Prepájať hlavné polia | Vlastnosť ovládacieho prvku podformulára určujúca, ktoré polia hlavného formulára ho prepájajú s podformulárom. |
Poznámka
- Ak chcete dosiahnuť optimálne výsledky, nastavte najprv vzťahy v tabuľke a až potom pokračujte v postupoch uvedených v tomto článku. Access tak môže automaticky vytvoriť prepojenia medzi hlavnými formulármi a podformulármi. Ak chcete zobraziť, pridať alebo zmeniť vzťahy medzi tabuľkami v databáze, na karte Databázové nástroje kliknite v skupine Vzťahy na položku Vzťahy.
- Ak ovládací prvok podformulára používa formulár ako zdrojový objekt, obsahuje polia, ktoré do formulára vložíte. Môžete ho zobraziť ako jeden formulár, spojitý formulár alebo údajový hárok. Výhodou založenia podformulára na objekte formulára je to, že do neho môžete pridať vypočítavané polia, ako napríklad
[Quantity] * [Unit price]: - Vytvorením ovládacieho prvku podformulára, ktorého zdrojovým objektom je tabuľka alebo dotaz, môžete do formulára vložiť údajový hárok alebo kontingenčné zobrazenie. Ďalšie informácie nájdete v časti Pridanie súvisiacich údajov do formulára bez vytvorenia podformulára.
Vytvorenie alebo pridanie podformulára
Pomocou nasledujúcej tabuľky určite, ktorý postup je najvhodnejší vo vašej situácii.
| Scenár | Odporúčaný postup |
|---|---|
| Chcete, aby Access vytvoril hlavný formulár i podformulár a prepojil podformulár s hlavným formulárom. | Vytvorenie formulára s podformulárom pomocou Sprievodcu formulárom |
| Chcete použiť existujúci formulár ako hlavný formulár a chcete, aby program Access vytvoril nový podformulár a pridal ho do hlavného formulára. | Pridanie podformulárov do existujúceho formulára pomocou Sprievodcu podformulárom |
| Chcete použiť existujúci formulár ako hlavný formulár a do tohto formulára chcete ako podformuláre pridať existujúce formuláre. | Vytvorenie podformulára pomocou presunutia jedného formulára do druhého |
Vytvorenie formulára s podformulárom pomocou Sprievodcu formulárom
Pomocou tohto postupu môžete vytvoriť kombináciu formulára a podformulára prostredníctvom Sprievodcu formulárom. Je to aj najrýchlejší spôsob, ako začať, ak ste ešte nevytvorili formuláre, ktoré chcete použiť ako hlavný formulár alebo podformulár.
Na karte Vytvoriť kliknite v skupine Formuláre na položku Sprievodca formulárom.
V rozbaľovacom zozname Tabuľky alebo dotazy na prvej strane sprievodcu vyberte tabuľku alebo dotaz. Ak chcete vytvoriť napríklad formulár Zamestnanci zobrazujúci objednávky pre každého zamestnanca v podformulári, vyberte položku Tabuľka: Zamestnanci (strana "one" vzťahu "one-to-many").
Poznámka
Nezáleží na tom, ktorú tabuľku alebo dotaz vyberiete ako prvé.
Kliknite dvakrát na polia, ktoré chcete z tejto tabuľky alebo dotazu zahrnúť do formulára.
V rozbaľovacom zozname Tabuľky alebo dotazy na tej istej strane sprievodcu vyberte ďalšiu tabuľku alebo dotaz. V tomto príklade vyberte tabuľku Objednávky (strana "many" vzťahu "one-to-many").
Dvakrát kliknite na polia, ktoré chcete z tejto tabuľky alebo dotazu zahrnúť do formulára.
Ak ste pred spustením sprievodcu správne nastavili vzťahy, sprievodca po kliknutí na tlačidlo Ďalej zobrazí otázku Ako sa majú údaje zobraziť? – t. j. podľa ktorej tabuľky alebo dotazu. Vyberte tabuľku na strane "one" vzťahu "one-to-many". Ak chcete vytvoriť napríklad formulár Zamestnanci, vyberte položku podľa položky Zamestnanci. Sprievodca zobrazí malý diagram formulára. Strana by mala vyzerať približne ako na nasledujúcom obrázku:
Pole v dolnej časti diagramu formulára predstavuje podformulár.
Poznámka
Ak sprievodca nezobrazí otázku Ako sa majú údaje zobraziť?, znamená to, že Access nezistil vzťah typu „one-to-many“ medzi vybratými tabuľkami alebo dotazmi. Sprievodca bude pokračovať, ale Access nepridá podformulár do formulára. Skôr ako budete pokračovať, môžete kliknúť na položku Zrušiť a následne skontrolovať vzťahy medzi tabuľkami.
V dolnej časti na strane sprievodcu vyberte možnosť Formulár s podformulármi a potom kliknite na tlačidlo Ďalej.
Na strane Aké rozloženie sa má v podformulári použiť? kliknite na požadovanú možnosť rozloženia a potom kliknite na položku Ďalej. Obidva štýly rozloženia usporiadajú údaje v podformulári do riadkov a stĺpcov, ale tabuľkové rozloženie poskytuje viac možností. Do tabuľkového rozloženia môžete pridať farbu, obrázky a ďalšie prvky formátovania, zatiaľ čo údajový hárok je kompaktnejší, podobne ako údajové zobrazenie tabuľky.
Na ďalšej stránke sprievodcu vyberte požadovaný štýl formátovania formulára a potom kliknite na položku Ďalej. Ak ste na predchádzajúcej strane vybrali možnosť Tabuľkové, vybratý štýl formátovania sa použije aj na podformulár.
Na poslednej strane sprievodcu zadajte názvy formulárov. Program Access vytvorí na základe zadaných názvov názvy formulárov a na základe názvov zadaných pre podformuláre popisy pre podformuláre.
Zadajte, či sa má formulár otvoriť vo formulárovom zobrazení, aby ste mohli zobraziť alebo zadať informácie, alebo v návrhovom zobrazení, aby ste mohli upraviť jeho návrh, a potom kliknite na tlačidlo Dokončiť. Access vytvorí dva formuláre – jeden pre hlavný formulár, ktorý obsahuje ovládací prvok podformulára, a jeden pre samotný podformulár.
Pridanie podformulárov do existujúceho formulára pomocou Sprievodcu podformulárom
Pomocou tohto postupu pridáte podformuláre do existujúceho formulára. Pri každom podformulári môžete vybrať, či má program Access vytvoriť nový formulár alebo použiť existujúci formulár ako podformulár.
- Pravým tlačidlom myši kliknite na existujúci formulár na navigačnej table a potom kliknite na položku Návrhové zobrazenie.
- Kliknutím na šípku nadol na karte Návrh formulára v skupine Ovládacie prvky zobrazte galériu ovládacích prvkov a skontrolujte, či je vybratá možnosť Použiť sprievodcov ovládacími prvkami .
- Na karte Návrh formulára kliknite v skupine Ovládacie prvky na tlačidlo Podformulár alebo Podzostava .
- Vo formulári kliknite na miesto, kam chcete umiestniť podformulár.
- Postupujte podľa pokynov sprievodcu. Po kliknutí na tlačidlo Dokončiť Access pridá do formulára ovládací prvok podformulára. Ak ste vybrali možnosť, aby Access pre podformulár nepoužil existujúci formulár, ale vytvoril nový formulár, Access vytvorí nový objekt formulára a pridá ho na navigačnú tablu.
Vytvorenie podformulára pomocou presunutia jedného formulára do druhého
Tento postup použite, ak chcete použiť existujúci formulár ako hlavný formulár a pridať k nemu existujúce formuláre ako podformuláre.
- Na navigačnej table kliknite pravým tlačidlom na formulár, ktorý chcete použiť ako hlavný formulár, a potom kliknite na položku Zobrazenie rozloženia.
- Presuňte formulár, ktorý chcete použiť ako podformulár, z navigačnej tably do hlavného formulára. Access pridá do hlavného formulára ovládací prvok podformulára a prepojí ovládací prvok s formulárom, ktorý ste presunuli z navigačnej tably. Access sa zároveň pokúsi prepojiť podformulár s hlavným formulárom na základe vzťahu zadaného v databáze.
- Tento krok zopakujte pri pridávaní ďalších podformulárov do hlavného formulára.
- Ak chcete overiť úspešnosť prepojenia, kliknite na karte Domov v skupine Zobrazenia na položku Zobrazenie, kliknite na položku Zobrazenie formulára a potom pomocou selektora záznamu hlavného formulára prechádzajte záznamy. Ak podformulár sám správne filtruje každého zamestnanca, postup je ukončený.
Ak je predchádzajúca skúška neúspešná, program Access nemohol určiť prepojenie podformulára a hlavného formulára a Link Child Fields vlastnosti a ovládacieho prvku podformulára Link Master Fields sú prázdne. Tieto vlastnosti treba nastaviť manuálne pomocou nasledujúceho postupu:
Pravým tlačidlom myši kliknite na hlavný formulár na navigačnej table a potom kliknite na položku Návrhové zobrazenie.
Vyberte ovládací prvok podformulára tak, že naň raz kliknete.
Ak sa pracovná tabla Hárok vlastností nezobrazuje, zobrazte ju stlačením klávesu F4 .
Na hárku vlastností kliknite na kartu Údaje.
Kliknite na tlačidlo Zostaviť vedľa poľa
Link Child Fieldsvlastnosti.
Zobrazí sa dialógové okno Prepojovanie polí podformulárov .V rozbaľovacích zoznamoch Hlavné polia a Podriadené polia vyberte polia, s ktorými chcete formuláre prepojiť, a potom kliknite na tlačidlo OK. Ak sa neviete rozhodnúť, ktoré polia máte použiť, kliknite na položku Navrhnúť a Access zistí prepojenie polí.
Tip
Ak sa nezobrazuje pole požadované na prepojenie formulárov, pravdepodobne budete musieť upraviť zdroj záznamov hlavného alebo podriadeného formulára a zabezpečiť, aby bolo zahrnuté aj pripájacie pole. Ak je formulár založený napríklad na dotaze, uistite sa, či sa pripájacie pole nachádza vo výsledkoch dotazu.
Uložte hlavný formulár, prejdite do formulárového zobrazenia a overte, či formulár pracuje podľa očakávania.
Otvorenie podformulára v novom okne v návrhovom zobrazení
Ak chcete vykonať zmeny v návrhu podformulára počas práce na hlavnom formulári v návrhovom zobrazení, podformulár môžete otvoriť v samostatnom okne:
- Kliknutím vyberte podformulár.
- Na karte Návrh formulára kliknite v skupine Nástroje na položku Podformulár v novom okne.
Zmena predvoleného zobrazenia podformulára
Po pridaní podformulára do formulára zobrazíte podformulár pomocou ovládacieho prvku podformulára alebo čiastkovej zostavy podľa vlastnosti podformulára Default View . Túto vlastnosť možno nastaviť na tieto hodnoty:
- Jeden formulár
- Spojité formuláre
- Údajový hárok
- Rozdelené zobrazenie
Pri prvom vytvorení podformulára môže byť táto vlastnosť nastavená na hodnotu Spojité formuláre alebo Samostatný formulár. Ak však nastavíte Default View vlastnosť podformulára na Datasheet, podformulár sa v hlavnom formulári zobrazí ako údajový hárok.
Nastavenie Default View vlastnosti podformulára:
Zatvorte všetky otvorené objekty.
Na navigačnej table kliknite pravým tlačidlom myši na podformulár a potom kliknite na položku Návrhové zobrazenie.
Ak sa hárok vlastností ešte nezobrazuje, zobrazte ho stlačením klávesu F4 .
V rozbaľovacom zozname v hornej časti hárka vlastností skontrolujte, či je vybratá položka Formulár.
Na karte Formát hárka vlastností nastavte vlastnosť Predvolené zobrazenie na požadovanú možnosť zobrazenia:
Poznámka
Ak požadované zobrazenie nie je v zozname, uistite sa, že vlastnosť
Allow...Viewpre dané zobrazenie je nastavená na možnosť Áno. Ak chcete napríklad zadať možnosť Údajový hárok ako predvolené zobrazenie formulára, skontrolujte, či je vlastnosť Povoliť údajové zobrazenie nastavená na možnosť Áno.Uložte a zatvorte podformulár a potom otvorte hlavný formulár a skontrolujte výsledky.
Pridanie súvisiacich údajov do formulára bez vytvorenia podformulára
Na zobrazenie súvisiacich údajov nie je potrebné vždy vytvoriť samostatný objekt formulára. Ak napríklad pracujete s formulárom v zobrazení rozloženia alebo návrhovom zobrazení a presuniete tabuľku alebo dotaz z navigačnej tably do formulára, program Access vytvorí ovládací prvok podformulára alebo podriadenej zostavy, pomocou ktorého zobrazíte údaje v danom objekte. Spôsob zobrazenia údajov určuje vlastnosť objektu Default View . Táto možnosť je obvykle nastavená na údajové zobrazenie, ale vlastnosť tabuľky alebo dotazu Default View môžete nastaviť aj na hodnotu Samostatný formulár, Rozdelené zobrazenie alebo Spojité formuláre, čo vám poskytne väčšiu flexibilitu pri zobrazovaní súvisiacich údajov vo formulároch.
Poznámka
Zmena Default View vlastnosti tabuľky alebo dotazu určuje spôsob ich zobrazenia pri každom otvorení, či už pri otvorení z navigačnej tably alebo zobrazení v ovládacom prvku podformulára alebo podriadenej zostavy. Zmena nastavenia zobrazenia tabuľky môže niekedy spôsobiť zmätok pri jej otvorení z navigačnej tably, preto odporúčame použiť pri tomto postupe dotaz namiesto tabuľky.