Data

Na kartě Data se určují vlastnosti formuláře, které souvisejí s databází, která je spojena s formulářem.

Určuje zdroj dat, na kterém je formulář založen, nebo určuje, zda může uživatel upravovat údaje. Kromě funkcí řazení a filtrování zde najdete také všechny potřebné vlastnosti pro vytvoření podformuláře.

Pro přístup k tomuto příkazu...

Otevřete místní nabídku vybraného prvku formuláře - zvolte kartu Formulář - Data.

Otevřete nástrojovou lištu Ovládací prvky formuláře nebo Návrh formuláře, klepněte na ikonu Formulář - karta Data.


Analyzovat SQL příkaz

Specifies whether the SQL statement is to be analyzed by LibreOfficeDev. If set to Yes, you can click the ... button next to the Content list box. This will open a window where you can graphically create a database query. When you close that window, the SQL statement for the created query will be inserted in the Content list box.

Cyklus

Determines how the navigation should be done using the tab key. Using the tab key, you can move forward in the form. If you simultaneously press the Shift key, the navigation will follow the opposite direction. If you reach the last (or the first) field and press the tab key again, it can have various effects. Define the key control with the following options:

Možnost

Význam

Výchozí

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).

Všechny záznamy

Tato možnost platí jen pro databázové formuláře a používá se k navigaci mezi všemi záznamy. Pokud použijete klávesu Tab na posledním poli formuláře, změní se aktuální záznam.

Aktivní záznam

Tato možnost platí jen pro databázové formuláře a používá se k navigaci jen v aktuálním záznamu. Pokud použijete klávesu Tab na posledním poli formuláře, změní se aktuální záznam.

Aktuální stránka

Při přesunu z posledního pole formuláře se kurzor přesune na první pole následujícího formuláře. Toto je standardní chování pro HTML formuláře; tudíž je tato možnost zvláště vhodná pro HTML formuláře.


Filtr

Enter the required conditions for filtering the data in the form. The filter specifications follow SQL rules without using the WHERE clause. For example, if you want to display all records with the "Mike" forename, type into the data field: Forename = 'Mike'. You can also combine conditions: Forename = 'Mike' OR Forename = 'Peter'. All records matching either of these two conditions will be displayed.

Funkce filtrování je v uživatelském režimu dostupná pomocí ikon Automatický filtr a Výchozí filtr na liště Navigace ve formuláři.

Lišta navigace

Specifies whether the navigation functions in the lower form bar can be used.

Volba "Nadřízený formulář" se používá pro podformuláře. Pokud vyberete tuto volbu pro podformulář, je možné provádět navigaci mezi záznamy hlavního formuláře, i když je kurzor v podformuláři. Podformulář je s hlavním formulářem spojen relací 1:1, takže navigace se vždy provádí v nadřazeném formuláři.

Obsah

Determines the content to be used for the form. The content can be an existing table or a query (previously created in the database), or it can be defined by an SQL-statement. Before you enter a content you have to define the exact type in Content type.

Pokud jako Typ obsahu vyberete "Tabulka" nebo "Dotaz", zobrazí se v seznamu všechny zdroje dat tohoto typu, tj. všechny tabulky nebo dotazy ve vybrané databázi.

Odstranit data

Determines if the data can be deleted.

Pouze přidat data

Determines if the form only allows the addition of new data (Yes) or if it allows other properties as well (No).

Ikona poznámky

Je-li Pouze přidat data nastaveno na "Ano", není možné měnit či mazat údaje.


Povolit přidávání

Determines if data can be added.

Povolit změny

Determines if the data can be modified.

Propojit hlavní pole

If you create a subform, enter the data field of the parent form responsible for the synchronization between parent and subform. To enter multiple values, press Shift + Enter after each input line.

Podformulář je založen na SQL dotazu; přesněji řečeno na Parametrickém dotazu. Pokud zadáte do Propojit hlavní pole název pole, načtou se data obsažená v tomto poli hlavního formuláře do proměnné, kterou musíte zadat do Propojit závislá pole. V odpovídajícím SQL dotazu se tato proměnná porovná s údaji v tabulce, na kterou odkazuje podformulář. Volitelně také můžete zadat do Propojit hlavní pole název sloupce.

Příklad:

Formuláře je např. založen na tabulce zákazníků ("Zákazníci"), kde má každý zákazník přiřazeno jedinečné číslo v poli nazvaném "Zákazník_ID". Objednávky každého zákazníka se evidují v jiné tabulce. A nyní si chcete ve formuláři prohlédnout objednávky vybraného zákazníka. Potřebujete vytvořit podformulář. Do Propojit hlavní pole zadejte datové pole z tabulky zákazníků, které zákazníka jasně identifikuje, tj. Zákazník_ID. Do Propojit závislá pole zadejte název proměnné, která přijme data z pole Zákazník_ID, např. x.

Podformulář by měl zobrazit odpovídající údaje z tabulky objednávek ("Objednávky") pro každé ID zákazníka (Zákazník_ID -> x). To je možné jedině je-li každý záznam v tabulce objednávek přiřazen jen jednomu zákazníkovi. Případně je možné použít jiné pole nazvané Zákazník_ID; ovšem, aby se vak pole nepletlo se stejným polem hlavního formuláře, nazveme ho Číslo_Zákazníka.

Nyní porovnejte Číslo_Zákazníka v tabulce "Objednávky" s Zákazník_ID v z tabulky "Zákazníci", což je možné provést např. s pomocí proměnné x v následujícím SQL dotazu:

SELECT * FROM Objednávky WHERE Číslo_Zákazníka =: x (pokud má podformulář zobrazit všechna data z tabulky objednávek)

nebo

SELECT Položka FROM Objednávky WHERE Číslo_Zákazníka =: x (pokud má podformulář zobrazit z tabulky objednávek jen údaje obsažené v poli "Položka")

SQL dotaz je možné zadat buď v poli Zdroj dat, nebo je možné vytvořit odpovídající parametrický dotaz, který lze využít pro vytvoření podformuláře.

Propojit závislá pole

If you create a subform, enter the variable where possible values from the parent form field can be stored. If a subform is based on a query, enter the variable that you defined in the query. If you create a form using an SQL statement entered in the Data source field, enter the variable you used in the statement. You can choose any variable name. If you want to enter multiple values, press Shift + Enter.

Příklad: Jako hlavní pole určíte v Propojit hlavní pole databázové pole Zákazník_ID, poté zadáte do Propojit závislá pole název proměnné, do které se má uložit hodnota z pole Zákazník_ID. Pokud nyní v poli Zdroj dat určíte SQL dotaz, zobrazí se v podformuláři odpovídající údaje.

Typ obsahu

Určuje, zda má být zdrojem dat existující tabulka či dotaz, nebo zda se má formulář generovat na základě SQL dotazu.

Pokud vyberete "Tabulka" nebo "Dotaz", bude formulář využívat tabulku či dotaz, který určíte v poli Zdroj dat. Pokud chcete vytvořit nový dotaz nebo podformulář, musíte vybrat "SQL". Poté je možné přímo do pole Typ obsahu zadat SQL dotaz nebo podformulář.

Zdroj dat

Defines the data source to which the form should refer. If you click the ... button, you call the Open dialog, where you can choose a data source.

Řadit

Specifies the conditions to sort the data in the form. The specification of the sorting conditions follows SQL rules without the use of the ORDER BY clause. For example, if you want all records of a database to be sorted in one field in an ascending order and in another field in a descending order, enter Forename ASC, Name DESC (presuming Forename and Name are the names of the data fields).

V uživatelském režimu lze k řazení použít odpovídající ikony na liště Navigace ve formuláři: Řadit vzestupně, Řadit sestupně, Řadit.

Co je podformulář?

Formuláře se vytvářejí z databázové tabulky nebo databázového dotazu. Zobrazují údaje přehledným způsobem a lze je použít k úpravě či zadávání nových dat.

Pokud chcete vytvořit formulář, který zobrazuje data z tabulky či dotazu a navíc může zobrazit data z další tabulky, měl byste vytvořit podformulář. Podformulář může být např. textové pole, které obsahuje údaje z jiné databázové tabulky.

Podformulář je dalším prvkem hlavního formuláře. Hlavní formulář se někdy nazývá "rodičovský formulář" nebo "nadřazený formulář". Podformuláře jsou třeba, když chcete ve formuláři přistupovat k více tabulkám. Každá tabulka navíc potřebuje vlastní podformulář.

Po vytvoření formuláře je možné jej změnit na podformulář. Přepněte se do režimu návrhu a otevřete Navigátor formulářem. Zde přetáhněte formulář (který se má stát podformulářem) na některý jiný formulář (který se stane hlavním).

Uživatel vašeho dokumentu neuvidí, že se formulář dělí na podformuláře. Uživatel pouze uvidí dokument, do kterého zadává data nebo ve kterém se zobrazují existující data.

V hlavním formuláři určete vlastnost Propojit hlavní pole. V podformuláři je možné vlastností Propojit závislá pole určit pole, které se bude porovnávat s obsahem datového pole určeného vlastností Propojit hlavní pole.

Když se uživatel pohybuje mezi údaji, formulář vždy zobrazuje aktuální datový záznam. Pokud jsou definovány podformuláře, zobrazí se jejich obsah po krátké prodlevě, přibližně 200 ms. Tato prodleva vám umožňuje rychle přecházet mezi záznamy hlavního formuláře. Pokud se během této doby přesunete na další záznam hlavního formuláře, není třeba načítat a zobrazovat data podformulářů.