Vloge uporabnika kot žetoni
V tej vadnici zgradite obrazec uporabnika, na katerem so vloge prikazane kot žetoni: vsaka vloga je vrstica podrejene tabele, vloge za izbiro prihajajo iz tabele, druge vrednosti pa se zavrnejo.
Predpogoji
- Microsoft 365 Access ali Access Runtime, v 32- ali 64-bitni različici, z nameščenim paketom WKL Forms Object Library 1.33 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čne tabele
Proceduro prilepite v standardni modul in jo enkrat zaženite iz okna Immediate
(CreateTokenSample):
Public Sub CreateTokenSample()
With CurrentDb
.Execute "CREATE TABLE tblUporabnik (ID LONG CONSTRAINT PK_Uporabnik PRIMARY KEY, Ime TEXT(50))"
.Execute "CREATE TABLE tblVloga (Vloga TEXT(30) CONSTRAINT PK_Vloga PRIMARY KEY)"
.Execute "CREATE TABLE tblUporabnikVloga (UporabnikID LONG NOT NULL, Vloga TEXT(30) NOT NULL, " & _
"CONSTRAINT PK_UporabnikVloga PRIMARY KEY (UporabnikID, Vloga))"
.Execute "INSERT INTO tblUporabnik VALUES (1, 'Novak')"
.Execute "INSERT INTO tblVloga VALUES ('Bralec')"
.Execute "INSERT INTO tblVloga VALUES ('Avtor')"
.Execute "INSERT INTO tblVloga VALUES ('Admin')"
.Execute "INSERT INTO tblUporabnikVloga VALUES (1, 'Bralec')"
End With
End Sub
2. Ustvarite obrazec
Ustvarite enojni obrazec frmUporabnik, vezan na tblUporabnik, s poljema z besedilom ID in Ime.
3. Vstavite polje z žetoni
Izberite Načrt obrazca › Kontrolniki › Kontrolniki ActiveX › WKL Token Box (Form Design ›
Controls › ActiveX Controls), polje narišite pod Ime, približno 8 cm široko in 1 cm visoko, ter ga
poimenujte tokVloge. Njegov Vir kontrolnika (list z lastnostmi, zavihek Podatki) nastavite na
ID, da polje sledi zapisu.
4. Vežite ga na podrejeno tabelo
Odprite oblikovalnik (list z lastnostmi, zavihek Drugo, vrstica Po meri [...]). Na strani
Podatki nastavite Vir zapisov na tblUporabnikVloga, Polje vrednosti na Vloga,
Poveži podrejena polja na UporabnikID in Poveži glavna polja (obrazec) na ID. Na strani
Predlogi in pravila nastavite Vir predlogov na SELECT Vloga FROM tblVloga ORDER BY Vloga
in izklopite Prost vnos. Izberite V redu in shranite obrazec.
5. Preizkusite
Odprite obrazec: pri Novaku je prikazan žeton „Bralec“. V polje vnesite av in pritisnite Enter:
doda se „Avtor“, tabela tblUporabnikVloga pa takoj dobi drugo vrstico. Vnesite Gost in pritisnite
Enter: vrednost je zavrnjena, razlog pa se prikaže pod poljem. Kliknite gumb za odstranitev pri
„Bralec“: njegova vrstica se izbriše.
Pričakovani rezultat
- Vsak žeton je ena vrstica tabele
tblUporabnikVloga, ki se zapiše, ko žeton dodate ali odstranite; zapis vtblUporabnikostane nespremenjen. - Sprejete so samo vloge iz
tblVloga, nobene pa ni mogoče dodati dvakrat. - Na novem zapisu uporabnika polje sprejme vnos, ko je zapis shranjen.
Naslednji koraki
- Hranjenje več vrednosti zapisa kot žetonov: potrditev pred odstranitvijo zadnje vloge in vloge kot stolpec v seznamu uporabnikov.