<p class="Paragraph">Na této kartě můžete zadávat vlastnosti propojení formuláře s databází.</p>
</help:to-be-embedded>
<p class="Paragraph">Můžete například zadat zdroj dat, na němž má být formulář založen, nebo možnost upravovat data zadaná uživatelem. Kromě funkcí Řadit a Filtr jsou k dispozici také všechny nezbytné příkazy pro vytvoření <help:link Id="65955" Eid="unterformular" xmlns:help="http://openoffice.org/2000/help">podformuláře</help:link>.</p>
<p class="Paragraph">Je-li formulář založen na příkazu SQL (viz rozevírací seznam <span class="T1">Zdroj dat</span>), bude funkce Řadit a Filtr možno používat, pouze pokud bude příkaz SQL odkazovat k tabulce a nebude napsán v nativním jazyce SQL databáze.</p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">V tomto rozevíracím seznamu můžete zadat zdroj dat, který má být ve formuláři použit. Zdrojem dat může <text:s text:c="" xmlns:text="http://openoffice.org/2000/text"/>být existující tabulka nebo dotaz (předem vytvořený v databázi), nebo může být zdroj dat zadán příkazem SQL. Před zadáním zdroje dat je třeba zadat přesný <span class="T1">Typ obsahu</span>.</help:help-text></p>
<p class="Paragraph">Formuláře přidělené určité databázi, tedy formuláře, které byly vytvořeny v kontejneru formulářů databáze pomocí příkazů <span class="T1">Nový</span> a <span class="T1">Formulář</span>, budou náležet databázi, v níž byly vytvořeny. Zdroj dat používaný pro tyto formuláře nemůže být v budoucnu měněn. Upravovat je možné (a nezbytné) pouze zdroje dat formulářů, které byly vytvořeny změnou běžného dokumentu na formulář pomocí plovoucího panelu nástrojů <span class="T1">Funkce formuláře</span>.</p>
<p class="Paragraph">Pokud jste v rozevíracím seznamu <span class="T1">Typ obsahu</span> vybrali položky Tabulka nebo Dotaz, zobrazí se v rozevíracím seznamu všechny datové zdroje tabulek nebo dotazů, které se nacházejí ve vybrané databázi. Chcete-li, aby formulář odkazoval k určitému dotazu, musíte nejprve vybrat položku Dotaz v poli Typ obsahu, abyste příslušný dotaz mohli používat jako zdroj dat.</p>
<p class="Paragraph">Pokud jste v poli <span class="T1">Typ obsahu</span> vybrali položku SQL příkaz, můžete do rozevíracího seznamu Zdroj dat zadat příkaz SQL. Pomocí tohoto příkazu bude vytvořen dotaz SQL, který bude možno použít pro vytvoření nového formuláře nebo <help:link Id="65955" Eid="unterformular" xmlns:help="http://openoffice.org/2000/help">podformuláře</help:link>.</p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">V tomto rozevíracím seznamu můžete zadávat, zda má být jako zdroj dat použita existující databázová tabulka nebo dotaz, nebo zda má být formulář vytvořen na základě příkazu SQL.</help:help-text></p>
<p class="Paragraph">Pokud vyberete položku Tabulka nebo Dotaz, bude formulář odkazovat k existující tabulce nebo dotazu, které byly zadány v rozevíracím seznamu <span class="T1">Zdroj dat</span>. Chcete-li vytvořit nový formulář nebo <help:link Id="65955" Eid="unterformular" xmlns:help="http://openoffice.org/2000/help">podformulář</help:link>, vyberte v rozevíracím seznamu položku SQL příkaz. Příkaz pro zadání nového dotazu SQL nebo vytvoření podformuláře můžete zadat do rozevíracího seznamu <span class="T1">Zdroj dat</span>. Formulář bude vytvořen na základě zadaného příkazu.</p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">V tomto rozevíracím seznamu můžete zadat, zda má být analyzován příkaz SQL zadaný v rozevíracím seznamu Zdroj dat (vyberte položku Ano), nebo ne (vyberte položku Ne).</help:help-text></p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">Do tohoto pole můžete zadat požadované podmínky pro použití filtru pro data ve formuláři. Filtr je možno zadávat podle pravidel jazyka SQL, není však třeba používat příkaz WHERE.</help:help-text> Chcete-li například zobrazit všechny záznamy, které v poli Jméno obsahující slovo „Michal“, zadejte do pole Filtr výraz Jméno = ‘Michal’. Jednotlivé výrazy lze rovněž kombinovat. Zadáte-li například výraz Jméno = Michal OR Jméno = Petr, budou zobrazeny všechny záznamy obsahující jedno ze zadaných křestních jmen.</p>
<p class="Paragraph">Funkci Filtr lze v uživatelském režimu spustit klepnutím na tlačítko <help:link Id="65981" xmlns:help="http://openoffice.org/2000/help"><span class="T1">Automatický filtr</span></help:link> nebo <help:link Id="65999" xmlns:help="http://openoffice.org/2000/help"><span class="T1">Běžný filtr</span></help:link> na <help:link Id="65578" xmlns:help="http://openoffice.org/2000/help">panelu formuláře</help:link>.</p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">V tomto poli můžete zadat požadované podmínky pro řazení dat ve formuláři. Podmínky pro řazení je možno zadávat podle pravidel jazyka SQL, není však třeba používat příkaz ORDER BY.</help:help-text> Chcete-li, aby například všechny záznamy databáze byly v jednom poli seřazeny vzestupně a ve druhém poli sestupně, zadejte do pole Řadit výraz (Název pole 1) ASC, (Název pole 2) DESC.</p>
<p class="Paragraph">V uživatelském režimu je pro řazení možno používat následující tlačítka na <help:link Id="65578" xmlns:help="http://openoffice.org/2000/help">panelu formuláře</help:link>: <help:link Id="65990" xmlns:help="http://openoffice.org/2000/help"><span class="T1">Řadit vzestupně</span></help:link>, <help:link Id="65969" xmlns:help="http://openoffice.org/2000/help"><span class="T1">Řadit sestupně</span></help:link> a <help:link Id="66041" xmlns:help="http://openoffice.org/2000/help"><span class="T1">Řadit</span></help:link>.</p>
<p class="Head2"><help:help-id value="HID_PROP_DATAENTRY" xmlns:help="http://openoffice.org/2000/help"/>Přidat pouze data</p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">V tomto rozevíracím seznamu můžete zadávat, zda do formuláře mohou být pouze vkládána nová data (vyberte položku Ano), nebo zda mohou být upravovány i jiné vlastnosti (vyberte položku Ne).</help:help-text></p>
<p class="Paragraph">Upravování nebo mazání již vložených údajů není možné. Protože ve formuláři nejsou zobrazovány již existující záznamy, lze do něj data pouze přidávat.</p>
<p class="TextInTable">Tato položka umožňuje automatické zadávání cyklu v závislosti na existenci odkazu na databázi. Obsahuje-li formulář databázový odkaz, budou ve výchozím nastavení při stisknutí klávesy TAB při odchodu z posledního pole uloženy změny v následujícím nebo předchozím záznamu (viz Všechny záznamy). Pokud odkaz na databázový záznam neexistuje, zobrazí se následující nebo předchozí formulář (viz Stávající stránka).</p>
<p class="TextInTable">Tuto položku je možno zvolit pouze u databázových formulářů a používá se pro přecházení mezi všemi záznamy. Aktuální záznam je při odchodu z posledního pole formuláře stisknutím klávesy TAB změněn.</p>
<p class="TextInTable">Také tuto položku je možno zvolit pouze u databázových formulářů a používá se pro přecházení mezi stávajícími záznamy. Aktuální záznam je při odchodu z posledního pole formuláře stisknutím klávesy TAB zachován.</p>
<p class="TextInTable">Při odchodu z posledního pole stisknutím klávesy TAB přemístíte kurzor na první pole následujícího formuláře. Tato vlastnost je běžná u webových formulářů v jazyce HTML, kde se také často používá.</p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">V tomto rozevíracím seznamu můžete zadávat, zda data mohou být přidávána (vyberte položku Ano) nebo nikoli (vyberte položku Ne).</help:help-text></p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help"> V tomto rozevíracím seznamu můžete zadávat, zda data mohou být upravována (vyberte položku Ano) nebo nikoli (vyberte položku Ne).</help:help-text></p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">V tomto rozevíracím seznamu můžete zadávat, zda data mohou být smazána (vyberte položku Ano) nebo nikoli (vyberte položku Ne).</help:help-text></p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">Vytváříte-li <help:link Id="65955" Eid="unterformular">podformulář</help:link>, můžete do tohoto pole zadávat datová pole hlavního formuláře určená pro synchronizaci dat mezi hlavním formulářem a podformulářem.</help:help-text> Pokud chcete zadat větší množství položek, stiskněte po zadání každé položky klávesy <help:switch select="System" xmlns:help="http://openoffice.org/2000/help"><help:case select="MAC">COMMAND</help:case><help:default>CTRL</help:default></help:switch>+ENTER.</p>
<p class="Paragraph">Podformulář je založen na dotazu <help:popup Id="65619" Eid="sql" xmlns:help="http://openoffice.org/2000/help">SQL</help:popup>, přesněji na <help:link Id="66162" Eid="parameterabfrage" xmlns:help="http://openoffice.org/2000/help">parametrickém dotazu</help:link>. Pokud je v poli <span class="T1">Propojit hlavní pole</span> zadán název pole, budou data odpovídajícího hlavního pole načtena do proměnné, kterou je třeba zadat v poli <span class="T1">Propojit závislá pole</span>. V příslušném příkazu SQL je tato proměnná porovnána s daty v tabulce, k níž odkazuje podformulář. Tento postup určuje typ zobrazení dat v podformuláři.</p>
<p class="Paragraph">Příklad:</p>
<p class="Paragraph">Databázová tabulka, na níž je formulář založen, je například databáze zákazníků („Zákazníci“), v níž má každý zákazník přiděleno jedinečné identifikační číslo zadané v poli „Číslo_zákazníka“. Zákazníkovy objednávky jsou vedeny v jiné databázové tabulce. Při zadávání zákazníků do formuláře si přejete zároveň zobrazovat jejich objednávky. Vytvořte proto podformulář a do pole <span class="T1">Propojit hlavní pole</span> zadejte datové pole z databáze zákazníků, které jednoznačně identifikuje jednotlivé zákazníky, tedy „Číslo_zákazníka“ (bez uvozovek). Do pole <span class="T1">Propojit závislá pole</span> zadejte název proměnné, do níž budou vložena data obsažená v poli Číslo_zákazníka, např. „x“.</p>
<p class="Paragraph">V podformuláři by měla být zobrazována odpovídající data z tabulky objednávek (nazvané „Objednávky“) pro každého zákazníka nebo číslo zákazníka (Číslo_zákazníka -> x). To je samozřejmě možné pouze v případě, že každá objednávka je v tabulce objednávek jednoznačně přiřazena jedinému zákazníkovi. Můžete případně použít pole nazvané „Číslo_zák“, aby nedošlo k záměně s polem v hlavním formuláři (které je nazváno „Číslo_zákazníka“).</p>
<p class="Paragraph">Nyní pouze porovnáte „Číslo_zák“ z tabulky „Objednávky“ s „Číslem_zákazníka“ z tabulky „Zákazníci“ pomocí proměnné x, tj. pomocí následujícího příkazu SQL:</p>
<p class="Paragraph">SELECT * FROM Objednávky WHERE Číslo_zák =: x (chcete-li, aby v podformuláři byla zobrazena všechna data z tabulky Objednávky),</p>
<p class="Paragraph">nebo</p>
<p class="Paragraph">SELECT Položka FROM Objednávky WHERE Číslo_zák =: x (chcete-li, aby v podformuláři byla zobrazena pouze data zadaná v tabulce Objednávky v poli Položka).</p>
<p class="Paragraph">Příkaz SQL můžete zadat buď do pole <span class="T1">Zdroj dat</span>, nebo můžete zadat odpovídající parametrický dotaz. Tímto způsobem vytvoříte podformulář.</p>
<p class="Paragraph"><help:help-text value="visible" xmlns:help="http://openoffice.org/2000/help">Vytváříte-li podformulář, můžete do tohoto pole zadávat proměnné, v nichž budou ukládány odpovídající hodnoty z polí hlavního formuláře.</help:help-text> Pokud je podformulář založen na existujícím dotazu, zadejte do tohoto pole proměnné, které jste v dotazu použili. Pokud je podformulář vytvořen pomocí příkazu SQL zadaného v poli <span class="T1">Zdroj dat</span>, zadejte do tohoto pole proměnné, které jste v příkazu použili. Název proměnné může být zcela libovolný. Pokud chcete zadat větší množství položek, stiskněte po zadání každé položky klávesy <help:switch select="System" xmlns:help="http://openoffice.org/2000/help"><help:case select="MAC">COMMAND</help:case><help:default>CTRL</help:default></help:switch>+ENTER.</p>
<p class="Paragraph">Jestliže jste například zadali databázové pole „Číslo_zákazníka“ jako hlavní pole v rozevíracím seznamu <span class="T1">Propojit hlavní pole</span>, můžete v poli <span class="T1">Propojit závislá pole</span> zadat název proměnné, do níž má být načtena hodnota obsažená v databázovém poli „Číslo_zákazníka“. Pokud nyní zadáte do pole <span class="T1">Zdroj dat</span> příkaz SQL obsahující tuto proměnnou, zobrazí se v podformuláři odpovídající data.</p>
<p class="Paragraph">Formuláře jsou vytvářeny na základě databázové tabulky nebo dotazu. Jsou v nich zobrazována data v grafické podobě a umožňují zadávat nová nebo upravovat stávající data, která mohou být uložena v databázové tabulce nebo v dotazu, na jejichž základě byl formulář vytvořen.</p>
<p class="Paragraph"><help:to-be-embedded Eid="wozu" xmlns:help="http://openoffice.org/2000/help">Vytváříte-li formulář, který nejen odkazuje na data v tabulce nebo dotazu, ale který by měl zároveň zobrazovat data z jiné tabulky, můžete za tímto účelem ve formuláři vytvořit podformulář.</help:to-be-embedded> Tento podformulář může obsahovat například textové pole, které bude sloužit k zaznamenávání dat z druhé databázové tabulky.</p>
<p class="Paragraph">Podformulář je pouze doplňkovou součástí hlavního formuláře. Hlavní formulář je proto nazýván také řídící formulář. Hlavní formulář je založen na databázové tabulce obsahující významnější formulářová data, méně významná data databázové tabulky jsou použita v doplňkovém podformuláři. Podformuláře jsou nezbytné, chcete-li ve formuláři pracovat s větším množstvím databázových tabulek. Každá tabulka vyžaduje vytvoření vlastního podformuláře.</p>
<p class="Paragraph">Zobrazení podformuláře se v uživatelském režimu nijak neliší od zobrazení hlavního formuláře. Uživateli je zobrazen jednotný formulář, do něhož je možné vkládat data nebo v němž lze zobrazovat existující data. Pomocí hlavního formuláře a podformulářů lze vytvořit přehledné uživatelské prostředí nezávisle na tom, jak jsou data uspořádána v databázích.</p>