Preverjanje obrazca stranke
V tej vadnici na obrazec stranke postavite preverjalnik: ime je obvezno, poštna številka ima štiri števke, stranka pa potrebuje telefonsko številko ali e-poštni naslov. Pri kršenem pravilu fokus ostane v polju, kršen zapis pa se ne shrani.
Predpogoji
- Microsoft 365 Access ali Access Runtime, v 32- ali 64-bitni različici, z nameščenim paketom WKL Forms Object Library 1.31 ali novejšim, registriranim za trenutnega uporabnika sistema Windows (Namestitev izdanega paketa).
- Nova ali obstoječa podatkovna zbirka na zaupanja vrednem mestu.
- Vsak kontrolnik WKL odpre svoj oblikovalnik na enak način: v pogledu načrta list z lastnostmi (F4), zavihek Drugo (Other), vrstica Po meri (Custom),
[...](Odpiranje oblikovalnika kontrolnika).
Koraki
1. Ustvarite vzorčno tabelo
Proceduro prilepite v standardni modul in jo enkrat zaženite iz okna Immediate
(CreateValidatorSample):
Public Sub CreateValidatorSample()
With CurrentDb
.Execute "CREATE TABLE tblStranka (ID COUNTER CONSTRAINT PK_Stranka PRIMARY KEY, Ime TEXT(50), " & _
"PostnaSt TEXT(10), Telefon TEXT(30), Eposta TEXT(100))"
.Execute "INSERT INTO tblStranka (Ime, PostnaSt, Telefon) VALUES ('Novak', '1000', '01 123 45 67')"
End With
End Sub
2. Ustvarite obrazec z modulom
Ustvarite enojni obrazec frmStranka, vezan na tblStranka, s polji z besedilom Ime, PostnaSt,
Telefon in Eposta. Lastnost obrazca Ima modul (HasModule, zavihek Drugo) nastavite na
Da: modul je lahko prazen, toda brez njega Access preverjalniku ne posreduje nobenega dogodka.
3. Vstavite preverjalnik
Izberite Načrt obrazca › Kontrolniki › Kontrolniki ActiveX › WKL Validator (Form Design ›
Controls › ActiveX Controls) in ga narišite pod polji, približno tako širokega kot obrazec in 0,6 cm
visokega. Poimenujte ga Validator1. Shranite obrazec in ga pustite odprtega v pogledu načrta.
4. Določite pravila
Proceduro prilepite v standardni modul, jo zaženite iz okna Immediate (SetCustomerRules), medtem ko
je obrazec odprt v pogledu načrta, in shranite obrazec:
Public Sub SetCustomerRules()
Forms!frmStranka!Validator1.Object.Rules = _
"{""fields"":[" & _
"{""field"":""Name"",""required"":true}," & _
"{""field"":""PostnaSt"",""pattern"":""[0-9]{4}"",""text"":""Poštna številka ima štiri števke.""}]," & _
"""records"":[{""atLeastOne"":[""Telefon"",""Eposta""],""text"":""Vnesite telefon ali e-poštni naslov.""}]}"
End Sub
Enaka pravila lahko vnesete na straneh oblikovalnika Pravila polj in Pravila zapisa (list z
lastnostmi, zavihek Drugo, vrstica Po meri [...]).
5. Preizkusite
Obrazec odprite v pogledu obrazca. V PostnaSt vnesite 123 in pritisnite Tab: fokus ostane, polje
dobi rdečo obrobo, preverjalnik pa prikaže „1 napaka – Poštna številka ima štiri števke.“ Vrednost popravite
v 2000. Izbrišite Telefon in poskusite shraniti zapis (Shift+Enter): shranjevanje je
zavrnjeno, povzetek pa navede pravilo zapisa. Vnesite e-poštni naslov in zapis se shrani.
Pričakovani rezultat
- Ne odpre se nobeno okno s sporočilom; napake so vidne ob poljih in v povzetku.
- Zapis z napako se ne shrani, ko ga uporabnik shrani ali se premakne na drug zapis. Če obrazec zaprete z neshranjenim, kršenim zapisom, Access vpraša, ali naj ga zapre brez shranjevanja, tako kot pri vsakem zavrnjenem shranjevanju.
- Po razveljavitvi (dvakrat Esc) izginejo vse oznake.
Naslednji koraki
- Preverjanje Accessovega obrazca s kontrolnikom WklValidator: pravila, ki veljajo samo za določeno vrsto zapisa, napake podatkovne storitve v povzetku, zasidran obrazec za urejanje.