Táblák létrehozása
Beviteli maszk
Mint az egyes táblák mezőtulajdonságainál is láthatjuk, lehetőségünk van a mezőket beviteli maszkokkal ellátni. De mire is jók a beviteli maszkok?
Ezek segítségével meghatározhatjuk, hogy az adott mezőbe milyen formátummal lehet rögzíteni az adatokat. Ez azt garantálja, hogy az adott mezőbe a felhasználók egységes formátumban adják meg az adatokat.
Kétféle karaktercsoport építi fel a maszkot: az úgynevezett literális karakterek és a helyőrzők. A literális karakterek azon karakterek, melyek mindenképpen megjelennek a mezőben, a helyőrzők pedig azok, amiknek a helyére mehet a változó adat.
Nézzünk erre egy egyszerű példát! Telefonszámokat szeretnénk rögzíteni az adatbázisunkba, mégpedig a következő formátumban: (10)-234-5678. Ehhez a formátumhoz a következő beviteli maszkot kell elkészítenünk: (_ _)-_ _ _ - _ _ _ _. Ebben a maszkban literális karakternek számít a zárójel és a kötőjel, helyőrzőnek pedig az aláhúzás jel.
Beviteli maszkot csak szöveg, szám vagy dátum típusú mezőre lehet készíteni.
A beviteli maszkokban felhasználható karakterekről és jelentésükről részletesen lásd az Irodalomjegyzék beviteli maszkokkal foglalkozó pontjait.
MegjegyzésA táblamezőkön kívül lekérdezésekre, űrlap- és jelentésvezérlőkre is lehet alkalmazni beviteli maszkokat.
OKTV 2010/2011. 2. forduló 4. feladat (Űrhajók) A részfeladat
FeladatA feladatban űrhajók és küldetéseik adatait tároljuk. A tipusok.xls állományban tároljuk a Típusok tábla adatait. Ebben a részfeladatban a Típusok tábla Start mezőjére kell beviteli maszkot készíteni úgy, hogy csak éveket lehessen rögzíteni a mezőben.
PéldaJavasolt megoldás:
Jelen esetben többféleképpen is el lehet készíteni a Start mezőre vonatkozó beviteli maszkot. Mivel a két megoldás kimenete némiképp eltérő, ezért mindkét megoldást közlöm.
Megoldási terv:
Először importáljuk be a táblákat, majd miután a Típusok táblát sikeresen beimportáltuk, lássunk neki a beviteli maszk elkészítésének!
Az első megoldás lépései:
- Mint fentebb tisztáztuk, beviteli maszkot csak szöveg, szám vagy dátum típusú mezőre lehet elkészíteni. Mivel a Start mező az első fellövés évét tartalmazza, adhatja magát, hogy állítsuk be dátum típusra a mezőt. Ez esetben viszont napra pontosan jelennek meg a dátumok, nekünk viszont elég csak a fellövés évét megjeleníteni, illetve a későbbiekben rögzíteni. Ezért célszerű szám típust (az Importálás varázslóban Hosszú egész típust) beállítani a mezőre.
MegjegyzésAdatvesztés miatt nem kell aggódni. Importálás után, ha megváltoztatjuk a mező típusát Dátum/Időre, akkor a teljes dátumot megjeleníti a rendszer.
- Nyissuk meg a Típusok táblát tervező nézetben, és kattintsunk a Start mezőre! A Mezőtulajdonságok panelen kattintsunk a Beviteli maszk sorba! Ha a sor végén lévő ikonra kattintunk, akkor elindul a Beviteli maszk varázsló, vagyis csak indulna. Ugyanis a Beviteli maszk varázsló csak szöveggel vagy dátummal dolgozik. Mindezek ellenére nem kell átállítanunk, egyszerűen csak be kell gépelnünk a maszkot. Ehhez azonban ismernünk kell a beviteli maszkokban felhasználható karaktereket.
- Szerencsére ez esetben használhatjuk a joker # (kettős kereszt) karaktert. A # karakter esetén tetszőlegesen beírhatunk egy számjegyet, szóközt, plusz- vagy mínuszjelet. Mivel csak az évszámot kell megjeleníteni, ezért írjunk be az alábbi karaktersorozatot: #### (idézőjelek nélkül)! Felvetődhet a kérdés, hogy a beviteli maszk engedheti négy karakteres szövegek rögzítését is. Azonban ne felejtsük el, hogy a mező szám típusú, tehát számokon kívül semmiképp sem rögzíthetünk mást!
- Ha készen van, mentsük a módosításokat, majd Adatlap nézetben próbáljuk ki, hogy működik-e! Rögzítsünk egy tetszőleges rekordot, majd a Start mezőhöz érve tapasztalhatjuk, hogy csak négy karaktert enged rögzíteni.
- Ha az önellenőrzéssel megvagyunk, akkor töröljük az általunk felvett rekordot!
Ezek után nézzük a másik megoldási lehetőséget!
A második megoldás lépései:
- Nyissuk meg a Típusok táblát, és állítsuk a Start mező típusát Dátum/Időre!
- Láthatjuk, hogy az előbb beállított beviteli maszk (####) megmaradt. Ha átváltunk Adatlap nézetre, akkor azt láthatjuk, hogy a Start mezőben nemcsak az évek, hanem a teljes dátum is megjelenik. Viszont ha rögzíteni szeretnénk egy új rekordot, akkor tapasztalhatjuk, hogy a korábban beállított beviteli maszk tökéletesen működik, csak egy négyjegyű számot enged rögzíteni.
- Menjünk vissza Tervező nézetbe, és kattintsunk a beviteli maszk sorában a [
] (három pont) gombra!
- A varázslóban válasszuk ki a Rövid dátum beviteli maszkot, majd kattintsunk a Tovább gombra!
- A Beviteli maszk sorban jelenleg ez szerepel: 0000/00/00. Az első négy 0 kivételével töröljünk ki mindent, majd kattintsunk a Próba sorba, majd kattintsunk a Tovább gombra, végül pedig a Befejezés gombra!
- Váltsunk Adatlap nézetre (közben, mikor rákérdez az Access, mentsünk), és próbáljuk ki a most elkészített beviteli maszkot, hasonlóan az előző megoldáshoz!
- Ha rendesen működik, akkor töröljük az általunk rögzített rekordot!
Mint azt láttuk, az egyik megoldás esetén csak az évek látszanak, míg a másik esetén a teljes dátum, de csak azoknál a rekordoknál, amelyeket importáltunk. Ezután viszont csak az évszámot tudjuk rögzíteni.
Mindkét megoldás teljesen jó, így mindegy, melyiket választjuk.
Vissza a tartalomjegyzékhez