Jump to content

Nejčastější dotazy/Base/024

From The Document Foundation Wiki
< Faq | Base
This page is a translated version of the page Faq/Base/024 and the translation is 100% complete.


Jak přimět ovládací prvek formuláře, aby zobrazil hodnotu pole v tabulce a poté uložil hodnotu jiného pole téže tabulky ?

Přepněte formulář do režimu návrhu.

V režimu návrhu vytvořte nový ovládací prvek

  • Pokud jste tak ještě neučinili, aktivujte Režim návrhu kliknutím na příslušnou ikonu na panelu nástrojů Návrh formuláře.
  • Na panelu nástrojů Návrh formuláře klikněte na ikonu Ovládací prvek seznamu a nakreslete na formuláři oblast, ve které má být ovládací prvek umístěn.

Průvodce ovládáním by se měl spustit automaticky a provést vás celým procesem. Zbývající podrobnosti naleznete níže.

Použití režimu návrhu k nahrazení existujícího ovládacího prvku formuláře (např. textového pole)

  • Aktivujte režim návrhu formuláře pomocí panelu nástrojů Návrh formuláře.
  • Převedete existující ovládací prvek na pole seznamu kliknutím pravým tlačítkem myši na ovládací prvek a výběrem možnosti Nahradit pomocí. > Listbox z kontextové nabídky.

Jako příklad si vezměte tabulku s názvem Client obsahující pole ClientName) a související primární klíč ( ClientId). Chceme dosáhnout toho, aby formulář zobrazoval jméno klienta v seznamu, ale ve skutečnosti používal odpovídající ClientID v podkladové tabulce k zápisu této hodnoty jinam. Je tedy nutné deklarovat pole, kam se budou tato data ukládat, přiřadit k listboxu SQL dotaz a nastavit pole tabulky, které se bude používat pro zobrazení i pro ukládání dat.

Začněte zobrazením vlastností ovládacího prvku listbox (panel nástrojů Návrh formuláře, vyberte ovládací prvek kliknutím myší a zvolte Vlastnosti) a poté zvolte kartu Data v dialogovém okně Vlastnosti.

V části Data zadejte název tabulky, která se má použít pro uložení dat.

Vyberte Sql jako Typ obsahu seznamu.

V části Obsah seznamu zadejte SELECT ClientName, ClientId FROM Client nebo klikněte na tlačítko představující následující tečky a použijte průvodce vytvořením dotazu.

Ve výše uvedeném dotazu je ClientName prvním vráceným polem a má indexační číslo 0 a ClientId je druhé pole vráceno s indexačním číslem 1.

Výchozí seznam zobrazený v ovládacím prvku Listbox je vždy založen na prvním indexovaném poli, tj. indexační číslo 0, tedy v našem současném příkladu s hodnotami z ClientName).

Protože ve skutečnosti chceme, aby byla zaznamenána hodnota ClientId (s indexačním číslem 1), je třeba v poli Propojené pole zadat hodnotu 1.