Faq/Base/024/cs

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  obsahující pole  ) a související primární klíč . 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  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  prvním vráceným polem a má indexační číslo 0 a   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 ).

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.