dnes je 25.4.2024

Input:

Access 2013: Tvorba vstupních masek

22.6.2015, , Zdroj: Verlag Dashöfer

Při zadávání hodnot do textových polí se často setkáte s požadavkem, aby byly zadávané údaje zapisovány v předem určeném tvaru. Např. u pole obsahujícího IČO je nutné, aby bylo vyplněno všech osm znaků, a údaj může obsahovat pouze číslice. Toho dosáhnete zadáním vstupní masky pro zvolené pole.

Vstupní masku je možné vytvořit dvěma způsoby: pomocí průvodce nebo přímým zápisem potřebného kódu.

Tvorba vstupní masky pomocí průvodce

Pro tvorbu vstupní masky pomocí průvodce použijte tento postup:

  1. Otevřete tabulku v návrhovém zobrazení a označte potřebnou položku.
  2. Ve spodní části okna na kartě Obecné klepněte do položky Vstupní maska.
  3. Stiskněte tlačítko se třemi tečkami v pravé části položky. Tím zobrazíte okno průvodce pro tvorbu vstupní masky.
  4. V seznamu označte potřebnou vstupní masku.
  5. V položce Vyzkoušet zkuste zapsat zkušební údaje a zkontrolujte, zdali mají správný vzhled.
  6. Tvorbu masky potvrďte tlačítkem Dokončit.
  7. Strukturu tabulky uložte.

Průvodce nabízí vstupní masku pro PSČ a pro rodné číslo. Maska pro telefon již nevyhovuje, protože neodpovídá devítimístným telefonním číslům. Při použití volby Heslo se vstupní maska vytvoří tak, že se místo zadávaných údajů budou zobrazovat hvězdičky.

Pole pro údaje, jako jsou IČO, RČ, PSČ, telefonní číslo apod. vytvářejte vždy jako textová a použijte vstupní masku. Pokud byste toto pole vytvořili jako číselné, nebudou se zobrazovat počáteční nuly.

Tvorba vstupní masky pomocí zápisu kódu

Při praktické práci je zpravidla zapotřebí vytvořit vstupní masky podle individuálních požadavků na jednotlivá pole. Proto musíte použít přímý zápis kódu masky:

  1. Otevřete tabulku v návrhovém zobrazení a označte potřebnou položku.
  2. Ve spodní části okna na kartě Obecné klepněte do položky Vstupní maska.
  3. Potřebný kód zapište do položky z klávesnice.
  4. Strukturu tabulky uložte.

 

Kód vstupní masky zapíšete tak, že každou zapisovanou pozici v poli představuje některý z kódových znaků. Podle zvoleného znaku se na odpovídající pozici může zapsat pouze číslice, pouze písmeno nebo jiné znaky. Je také možno volit, zdali je pozice povinná, tj. musí být vyplněna, nebo nepovinná (je možné ji vynechat). Kódové znaky pro tvorbu masek jsou v tabulce:

Znak

Význam

0

Číslice 0 až 9, pozice je povinná

9

Číslice 0 až 9 nebo mezera, pozice je nepovinná

#

Číslice, mezera nebo znaky plus a minus, pozice je nepovinná

L

Písmena A až Z, pozice je povinná

?

Písmena A až Z, pozice je nepovinná

A

Písmena nebo číslice, pozice je povinná

a

Písmena nebo číslice, pozice je nepovinná

&

Libovolný znak nebo mezera, pozice je povinná

C

Libovolný znak nebo mezera, pozice je nepovinná

Otevřete si databázi access_vstupni_maska.accdb. V tabulce „Zákazníci“ vytvořte vstupní masku pro IČO. Protože IČO obsahuje pouze číslice a všechny pozice jsou povinné, maska bude obsahovat kód „00000000“. Výsledek cvičení můžete porovnat s tabulkou „Zákazníci výsledek“, kde je tato maska již vytvořena.

Další možnosti vstupní masky

Do vstupní masky je možné vkládat další kódové znaky, které nezastupují jednotlivé pozice v zapisovaném údaji, ale rozšiřují možnosti při jeho zobrazení.

Jednotlivé pozice v zapisovaném údaji můžete oddělovat mezerou, čárkou, tečkou nebo pomlčkou. Např. při použití masky „00-00 00“ budou zapsané číslice 123456 zobrazeny jako „12-34 56“. Oddělovací znaky nejsou ukládány do tabulky a délka pole s nimi tedy nemusí počítat. Pro uvedený údaj byste proto zvolili jako délku pole šest znaků.

Do masky můžete zapsat i další znaky, které mají význam pouze při zobrazení zadaného údaje a nepředstavují pozice v poli. Tyto znaky se uvozují zpětným lomítkem a označují se jako literály. Zpravidla se nezapočítávají do délky ukládaného pole. Např. maska A000“ při zápisu číslic 123 do pole o délce tři znaky zobrazí pole jako „A123“.

Dodatečné znaky můžete do masky zapsat také v uvozovkách. Použití uvozovek je výhodné při zápisu několika dodatečných znaků za

Nahrávám...
Nahrávám...