Tipy pro MS Access - práce s formulářem

1. 3. 1999

Sdílet

Zobrazení formuláře- Pokud chcete zobrazit formulář jako modální (v tomto nastavení nemůžete pracovat s jinými okny, dokud neukončíte práci s modálním formulářem), nastavte vlast...

Zobrazení formuláře
- Pokud chcete zobrazit formulář jako modální (v tomto nastavení nemůžete

pracovat s jinými okny, dokud neukončíte práci s modálním formulářem), nastavte

vlastnost Modální okno (v orig. Modal) na Ano. Pro znepřístupnění řádku nabídek

a voleb ovládacích panelů slouží vlastnost Překryvné okno (v orig. PopUp).

- Formulář má standardně nastavenu vlastnost Místní nabídka (v orig.

ShortcutMenu), která zajistí zobrazení nabídky po stisku pravého tlačítka myši

v oblasti okna. K tomu, aby uživatel nemohl používat možnosti této nabídky,

změňte nastavení vlastnosti Místní nabídka na Ne.



Ovládací prvky formuláře

- Pro vytvoření textového pole pro zadání hesla chcete, aby se při zápisu hesla

v poli zobrazovaly hvězdičky nebo jiné znaky, a nikdo jiný tak nemohl přečíst

zadávaný text hesla. K tomuto účelu použijte vlastnost textového pole Vstupní

maska (v orig. InputMask). Program zobrazí Průvodce vstupní maskou, a v seznamu

vyberte masku Heslo a popř. změňte zobrazovaný znak.

- Obdobným způsobem můžete využít další přednastavené formáty, nebo si je

můžete vytvořit a potom ihned používat. Vstupní masku lze

také nastavit z kódu programu (např. Me!RodneCislo.InputMask =

„000000\/0009“).

- Chcete-li na formuláři pouze zobrazit hodnoty určitého pole tabulky (např.

identifikačního čísla zaměstnance), nastavte vlastnost prvku Uzamknout na Ano a

vlastnost Zpřístupnit na Ne (v orig. Locked a Enabled). Chcete-li však

uživateli umožnit podle hodnot tohoto pole záznamy třídit a filtrovat (opět bez

možnosti jejich editace), nastavte obě vlastnosti na hodnotu na Ano.

- Vlastnost ovládacího prvku Uzamknout můžete nastavit i z programového kódu.

Například po zaškrtnutí zaškrtávacího pole MaDeti uživatelem (v případě, že

tazatel má děti), chcete, aby se zpřístupnilo pole Pocet_Deti (v případě, že

tazatel děti nemá, bude pole Pocet_Deti nepřístupné a jeho hodnota nastavena na

0 („na nulu“). Zapište proto následující kód do události Uzamknout prvku MaDeti:



If Me![MaDeti] Then

Me![PocetDeti] .Enabled = True

Else

Me![ PocetDeti] = 0

Me![ PocetDeti].Enabled = False

End If



Poznámka: Zaškrtávací pole MaDeti nabývá hodnot True nebo False, proto je

logický výraz u If zapsán správně.

- Kontrolu zadávaných hodnot prvku typu Textové pole můžete provést zadáním

příslušné podmínky (např. v případě pole Plat je podmínka >0) do vlastnosti

prvku Ověřovací pravidlo (v orig. ValidationRule), a k zadání textu, který se

zobrazí v případě jejího nesplnění, použijte vlastnost Ověřovací text (v orig.

ValidationText). V našem případě by ověřovací text mohl být např. „Plat musí

být kladné číslo!“ (V uvedeném případě by však bylo lepší podmínku na data i

ověřovací text zadat přímo v definici tabulky.)



Pořadí prvků

- Pořadí prvků, které se budou aktivovat postupným stisknutím klávesy tab (tedy

obdrží fokus), nastavíte volbou Zobrazit\Pořadí prvků. K tomu, aby určitý prvek

formuláře byl nepřístupný klávesou tab, použijte vlastnost prvku Přístup

klávesou tabelátor (v orig. TabStop, tuto vlastnost lze použít i v kódu).

- Nastavit fokus požadovanému prvku formuláře při výskytu určité události

můžete také programově. Např. podle zadaného druhu pracovního poměru

zaměstnance (plný úvazek, částečný úvazek prvek Typ_PracPom) se budou vyplňovat

příslušné údaje a podle toho se nastaví fokus. Zapište tedy příslušný kód do

události Po aktualizaci prvku Typ_PracPom (program automaticky vytvoří

proceduru Typ_PracPom_After Update):



If Me![Typ_PracPom] = „Plný úvazek“ Then

Me![ppUdaj1].SetFocus

Else

Me![cpUdaj1].SetFocus

End If



- Stisknutím klávesy Tab na posledním prvku záznamu formuláře se standardně

přesunete na první prvek následujícího záznamu. Chcete-li zůstat stále na

stejném záznamu a po stisknutí klávesy Tab na posledním prvku se přesunout na

první prvek stávajícího záznamu, musíte nastavit vlastnost formuláře Koloběh (v

orig. Cycle) na Aktuální záznam.



Další

- Pokud chcete sejmout obrázky formulářů (po stisknutí klávesové zkratky

Alt+PrtScr) a následně je použít v dokumentaci nebo zprávě, musíte mít abyste

sejmuli pouze požadovaný formulář a ne celou obrazovku nastavenu vlastnost

formuláře Překryvné okno (v orig. PopUp) na Ano.

- K zobrazení textu nebo jiných informací na stavovém řádku je určena funkce

SysCmd s parametrem acSysCmdSetStatus, která vrací hodnotu typu variant [např.

SysCmd(acSysCmdSetStatus, „Probíhá výpočet…“)]. Tuto funkci můžete použít i k

zobrazení stavu právě probíhající akce k tomu jsou určeny parametry

acSysCmdInitMeter, acSys Cmd UpdateMeter a acSysCmdRemoveMeter.



Z dotazů čtenářů

? Zajímalo by mne, jak automaticky vložit do záznamu datum jeho vytvoření nebo

datum modifikace záznamu.

- K zapsání datumu vložení nového záznamu do pole pojmenovaného např.

Dat_vlozeni použijte událost formuláře Po vložení (v orig. AfterInsert),

vyberte tvůrce kódu a zapište kód:



Me![dat_vlozeni] = Date



Pro zapsání datumu změny záznamu (např. pole Dat_zmeny) použijte událost

formuláře Před aktualizací (v orig. BeforUpdate), vyberte tvůrce kódu a zapište

obdobný programový kód (Me![dat_zmeny] = Date). Chcete-li zadat i čas (nebo

pouze čas) vytvoření či aktualizace záznamu, použijte místo Date funkci Now

(popř. Time).



9 0157/OK