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
můžete 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 ZobrazitPoř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_AfterUpdate ):
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 , acSysCmdUpdateMeter 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 ).