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





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 ).