Fórum pro uživatele kancelářského balíku OpenOffice | LibreOffice
 

#1 Re: Base » Z výpisu záznamů do editačního formuláře - VYŘEŠENO » 23. 3. 2018 11:05:03

Tak se mi to asi povedlo :-) 
 
Klíčem je vytvořit formulář, který se skládá ze 3 vnořených formulářů: 
https://i.imgur.com/035pdP8.png 
 
1) Top-level formulář je filtrační formulář. Blbé na LibreOffice/OpenOffice Base je to, že každý formulář musí být navázaný na nějakou tabulku. Jinak se pak nikde nezobrazují žádná data. Vytvořil jsem tedy tabulku "candidate_filter_form". Hodnotu z filtračního formuláře pak můžu předat jako proměnnou do hlavního formuláře se seznamem lidí: 
https://i.imgur.com/7IBPEfz.png 
 
2) Když už ve formuláři se seznamem lidí (MainForm) mám k dispozici hodnotu z filtr. formuláře (v proměnné
Var_KEYWORD), můžu ji vložit do SQL dotazu pro získání lidí: 
https://i.imgur.com/uZbyxgq.png 
 
3) Když ve MainForm vyberu člověka, otevře se mi v editačním formuláři pod ním (SubForm). SubForm je na MainForm navázaný klasicky přes "Link master/slave fields". Oba formuláře pracují se stejnou tabulkou, proto jsou navázány přes stejný sloupeček "id"->"id": 
https://i.imgur.com/H9lK6WI.png 
 
Podle mě jde o základní scénář práce s daty. A tak se velmi divím, že na něj všude na internetu neexistují pro LibreOffice Base tutoriály. 
 
Snad tedy tento můj postup pomůže dalším lidem wink

#2 Re: Base » Z výpisu záznamů do editačního formuláře - VYŘEŠENO » 21. 3. 2018 08:22:07

Mým cílem je skrz LibreOffice Base editovat data v PostgreSQL na vzdáleném serveru. 
 
Pokud je problém s dotazy (Queries), nemusím je používat, stačí mi přistupovat přímo k tabulce. 
 
Mým cílem je následující workflow: 
1. Nějakým způsobem vyfiltruji seznam lidí z databáze (třeba podle příjmení). 
2. Z výsledku dodatečně ručně vyberu/označím jeden záznam a otevřu ho ve formuláři. 
3. Změním co potřebuji, uložím a vrátím se zpět do seznamu lidí, kde mohu opět filtrovat. 
 
Vím, že můžu nějakým způsobem filtrovat lidi i přímo ve vytvořeném formuláři. To ale nechci, protože ve formuláři vidím vždy max. jeden záznam z DB. Což je nepřehledné a nepohodlné. Potřebuji vyfiltrovat seznam lidí, ze kterého se dodatečně rozhodnu, který záznam chci otevřít ve formu a editovat. 
 
Předpokládal jsem, že taková základní věc bude stejná ve všech typech databází. Ať už půjde o HSQLDB, MySQL, nebo PostgreSQL.

#3 Base » Z výpisu záznamů do editačního formuláře - VYŘEŠENO » 21. 3. 2018 07:11:34

nanuqcz
Odpovědí: 12

Dobrý den, 
udělal jsem si testovací databázi: 
https://i.imgur.com/VzFaMy4.png 
 
a Query pro data z této databáze: 
https://i.imgur.com/2f4gqDE.png 
 
Pro účely editace záznamů jsem si vytvořil jednoduchý form: 
https://i.imgur.com/xrMEJPx.png 
 
Můj dotaz
Jakým způsobem se z výpisu dat v Query dostanu do mého editačního formuláře? 
 
Děkuji za rady.

Zápatí

Používáme FluxBB