Vezava drevesa na tabelo
V tej vadnici ustvarite majhno tabelo regij, na obrazec postavite kontrolnik WklTreeView, ga brez
kode vežete v listu z lastnostmi in poskrbite, da se ob izbiri vozlišča posodobi drug kontrolnik. Za vse skupaj
potrebujete približno petnajst minut.
Predpogoji
- Microsoft 365 Access ali Access Runtime, v 32- ali 64-bitni različici, z nameščenim paketom WKL Forms Object Library 1.23 ali novejšim, registriranim za trenutnega uporabnika sistema Windows (Namestitev izdanega paketa).
- Nova, prazna podatkovna zbirka na zaupanja vrednem mestu (Datoteka › Možnosti › Središče zaupanja), da se kontrolniki ActiveX in VBA v pogledu obrazca izvajajo.
- 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
Odprite okno Immediate (Ctrl+G v urejevalniku VBA) in izvedite te vrstice, eno za drugo:
CurrentDb.Execute "CREATE TABLE tblRegije (RegijaID COUNTER PRIMARY KEY, NadrejenaID LONG, ImeRegije TEXT(50))" CurrentDb.Execute "INSERT INTO tblRegije (NadrejenaID, ImeRegije) VALUES (0, 'Evropa')" CurrentDb.Execute "INSERT INTO tblRegije (NadrejenaID, ImeRegije) VALUES (1, 'Slovenija')" CurrentDb.Execute "INSERT INTO tblRegije (NadrejenaID, ImeRegije) VALUES (2, 'Ljubljana')" CurrentDb.Execute "INSERT INTO tblRegije (NadrejenaID, ImeRegije) VALUES (2, 'Krsko')" CurrentDb.Execute "INSERT INTO tblRegije (NadrejenaID, ImeRegije) VALUES (1, 'Hrvaška')" CurrentDb.Execute "INSERT INTO tblRegije (NadrejenaID, ImeRegije) VALUES (0, 'Amerika')"
NadrejenaID = 0 ne kaže na noben zapis, zato sta Evropa in Amerika korenski vozlišči. Zapis
„Krsko“ brez strešice je namenski; popravite ga v 5. koraku.
2. Vstavite kontrolnik
- V pogledu načrta ustvarite prazen obrazec.
- Izberite Načrt obrazca › Kontrolniki › Kontrolniki ActiveX (Form Design › Controls › ActiveX Controls), označite WKL TreeView in kliknite V redu.
- Narišite kontrolnik in ga poimenujte
Tree1(list z lastnostmi, zavihek Drugo, Ime).
Access podatkovni zbirki doda sklic WKL Forms Object Library (z različico registrirane izdaje).
3. Vežite drevo
V listu z lastnostmi na zavihku Drugo nastavite:
| Lastnost | Vrednost |
|---|---|
RecordSource | tblRegije (seznam vrednosti) |
KeyField | RegijaID |
ParentField | NadrejenaID |
TextField | ImeRegije |
ExpandLevel | 2 |
DefaultImage | Folder |
Lahko pa v vrstici Po meri kliknete [...] in odprete okno oblikovalnika: njegova stran
Vir zapisov nastavi ista polja in v predogledu prikaže dejansko
drevo. Oblikovalnik je v istem jeziku kot komponente.
4. Prikažite izbiro
Na obrazec dodajte polje z besedilom txtIzbrano. V oknu s kodo na seznamu objektov izberite
Tree1, na seznamu procedur NodeSelect, nato dopolnite proceduro:
Private Sub Tree1_NodeSelect(ByVal Key As Variant)
Me.txtIzbrano = Me!Tree1.Object.FullPath(Key)
End Sub
5. Preizkusite v pogledu obrazca
Preklopite v pogled obrazca. Kliknite Krsko in nato pritisnite F2: preimenovanje je izklopljeno,
zato se nič ne zgodi. V pogledu načrta nastavite LabelEdit na Da, preklopite nazaj, vozlišče
preimenujte v Krško in pritisnite Enter; drevo novo ime takoj zapiše v tblRegije (AutoSave).
Pričakovani rezultat
- Drevo prikazuje korenski vozlišči Evropa in Amerika; Evropa je razširjena do Slovenije in Hrvaške, Slovenija pa do Ljubljane in Krskega, vsako vozlišče s simbolom mape.
- Ko izberete Krsko, se v
txtIzbranoprikažeEvropa\Slovenija\Krsko. - Po preimenovanju je v zapisu v
tblRegijevrednostKrško.
Naslednji koraki
- Uporabniško urejanje drevesa: dodajanje, brisanje, premikanje, kopiranje.
- Vadnica za WklTreeList: isti podatki s stolpci.
- Pregled pojmov.