Izdelava skrbniškega obrazca s postavitvijo s pripenjanjem
V tej vadnici na obrazec z naslovom v glavi obrazca postavite tri območja – seznam strank, zapis stranke in njena
naročila –, jih prepustite kontrolniku WklDockLayout, da jih razporedi po celotnem oknu, in z razporeditvijo
delate v pogledu obrazca: vlečenje, strnjevanje, tipkovnica in razporeditev, ki se vrne za vsakega uporabnika.
Potrebujete približno deset minut in nič VBA, razen enega izbirnega gumba.
Predpogoji
- Microsoft 365 Access ali okolje Access Runtime, v 32- ali 64-bitni različici, s knjižnico WKL Forms Object Library 1.23 ali novejšo različico, nameščeno in registrirano za trenutnega uporabnika sistema Windows (Namestitev izdanega paketa).
- Nova 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, vrstica Po meri,
[...](Odpiranje oblikovalnika kontrolnika).
Koraki
1. Ustvarite vzorčne tabele
V oknu Immediate (Ctrl+G) zaženite te vrstice, eno za drugo:
CurrentDb.Execute "CREATE TABLE tblStranke (StrankaID COUNTER PRIMARY KEY, Podjetje TEXT(50), Kraj TEXT(50))"
CurrentDb.Execute "CREATE TABLE tblNarocila (NarociloID COUNTER PRIMARY KEY, StrankaID LONG, Izdelek TEXT(50), Kolicina LONG)"
CurrentDb.Execute "INSERT INTO tblStranke (Podjetje, Kraj) VALUES ('Adria', 'Koper')"
CurrentDb.Execute "INSERT INTO tblStranke (Podjetje, Kraj) VALUES ('Bistra', 'Maribor')"
CurrentDb.Execute "INSERT INTO tblNarocila (StrankaID, Izdelek, Kolicina) VALUES (1, 'Vijaki', 100)"
CurrentDb.Execute "INSERT INTO tblNarocila (StrankaID, Izdelek, Kolicina) VALUES (2, 'Matice', 50)"
2. Grobo razporedite območja
Ustvarite obrazec, vezan na tblStranke, nastavite Privzeti pogled na Enojni obrazec, ga shranite kot
frmAdmin in ostanite v pogledu načrta. Z desno tipko miške kliknite obrazec in izberite Glava/noga obrazca;
v glavo postavite oznako z naslovom.
V odsek s podrobnostmi postavite tri območja drugo ob drugo – položaji niso nujno natančni, vsako območje pa naj se dotika robov, h katerim spada:
| Kontrolnik | Ime | Kje | Nastavitve |
|---|---|---|---|
| Polje s seznamom | lstStranke | vzdolž celotnega levega roba, široko približno 4 cm | Vir vrstic (RowSource) tblStranke, vezani stolpec (BoundColumn) 1 |
| Podobrazec | sfNarocila | vzdolž spodnjega roba desno od seznama, visok približno 3 cm | Izvorni objekt (SourceObject) Table.tblNarocila, glavna polja povezave (LinkMasterFields) StrankaID, podrejena polja povezave (LinkChildFields) StrankaID |
| Podobrazec | sfStranka | preostanek, nad sfNarocila | Izvorni objekt (SourceObject) Table.tblStranke |
Sidra vseh treh območij pustite na Zgoraj levo.
3. Vstavite postavitev s pripenjanjem
Izberite Načrt obrazca › Kontrolniki › Kontrolniki ActiveX, izberite WKL Dock Layout, kliknite V redu
in kontrolnik narišite čez vsa tri območja. Poimenujte ga Layout1 in ga z ukazom za pošiljanje v ozadje
(zavihek Razporedi) pomaknite za območja, tako da ležijo pred njim.
4. Preverite območja v oblikovalniku
Izberite Layout1, odprite list z lastnostmi, zavihek Drugo, in v vrstici Po meri kliknite [...]. Stran
Območja navaja območja, ki jih je postavitev našla po položaju, v vrstnem redu pripenjanja: lstStranke
(Levo), sfNarocila (Spodaj), sfStranka (Zapolni); predogled na desni jih prikazuje v celotnem odseku
s podrobnostmi. Možnosti Zapolni celotno območje in Nastavi ob uporabi pustite vklopljeni in kliknite V redu:
tri območja zdaj v pogledu načrta ležijo tako, kot jih bo prikazal obrazec, vrzeli, ki ste jih pustili, pa so
zaprli razdelilniki. Shranite obrazec.
Postavitev pusti seznam v Panes prazen – območja najde po položaju ob vsakem odprtju obrazca. Če želite imena in
cone namesto tega določiti, pred V redu kliknite Prevzemi po položaju.
5. Delo z obrazcem
Odprite frmAdmin v pogledu obrazca:
- Accessovo okno povečajte in pomanjšajte: tri območja pri vsaki velikosti zapolnijo prostor med glavo in nogo; seznam obdrži svojo širino, naročila svojo višino.
- Razdelilnik desno od seznama povlecite v desno: miški sledi polprozoren razdelilnik, območja pa se premaknejo enkrat, ko spustite gumb. Esc med vlečenjem prekliče.
- Dvokliknite razdelilnik nad naročili: naročila se strnejo, zapis stranke pa zavzame prostor; razdelilnik ostane ob spodnjem robu. Znova ga dvokliknite, da območje razširite.
- Kliknite v seznam in nekajkrat pritisnite F6: fokus se premika od območja do območja. Pritiskajte tabulatorko, dokler razdelilnik desno od seznama ne dobi fokusa (potemni), nato s puščičnimi tipkami spremenite velikost seznama in ga s tipko Enter strnite.
- Zaprite obrazec in ga znova odprite: razporeditev iz 2. koraka se vrne. Shranjena je za vašega uporabnika sistema Windows v tabeli
USysWklLayout(sistemska tabela, skrita v podoknu za krmarjenje).
6. Vrnite uporabniku načrt (izbirno)
V glavo obrazca dodajte gumb cmdDefaultLayout s to proceduro ob kliku:
Private Sub cmdDefaultLayout_Click()
Me!Layout1.Object.Reset
End Sub
Reset obnovi načrtovane velikosti in odstrani zapomnjeno razporeditev.
Pričakovani rezultat
Skrbniški obrazec, katerega območja pri vsaki velikosti izkoristijo celotno okno, ki jim uporabnik velikost spreminja in jih strne z miško ali tipkovnico ter ki se odpre z lastno razporeditvijo vsakega uporabnika – brez kode, razen izbirnega gumba za ponastavitev. Razporeditev načrta obrazca nikoli ne spremeni.
Naslednji koraki
- Izbira območij postavitve: cone in najmanjše velikosti po imenu