Mreža strank z naročili
V tej vadnici ustvarite tabelo strank in tabelo njihovih naročil, na obrazec postavite dva
kontrolnika WklGrid, prvega vežete z oblikovalnikom, drugega pa brez kode povežete s prvim. Nato
dodate podrobni pogled ter v pogledu obrazca preizkusite skupine in filtre. 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 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čni tabeli
V oknu Immediate (Ctrl+G) izvedite te vrstice, eno za drugo:
CurrentDb.Execute "CREATE TABLE tblStranke (StrankaID COUNTER PRIMARY KEY, Podjetje TEXT(50), Kraj TEXT(50), Promet CURRENCY)"
CurrentDb.Execute "CREATE TABLE tblNarocila (NarociloID COUNTER PRIMARY KEY, StrankaID LONG, Artikel TEXT(50), Kolicina LONG)"
CurrentDb.Execute "INSERT INTO tblStranke (Podjetje, Kraj, Promet) VALUES ('Adria', 'Koper', 120)"
CurrentDb.Execute "INSERT INTO tblStranke (Podjetje, Kraj, Promet) VALUES ('Bistra', 'Maribor', 80)"
CurrentDb.Execute "INSERT INTO tblStranke (Podjetje, Kraj, Promet) VALUES ('Cvet', 'Koper', 300)"
CurrentDb.Execute "INSERT INTO tblNarocila (StrankaID, Artikel, Kolicina) VALUES (1, 'Vijaki', 100)"
CurrentDb.Execute "INSERT INTO tblNarocila (StrankaID, Artikel, Kolicina) VALUES (3, 'Matice', 50)"
CurrentDb.Execute "INSERT INTO tblNarocila (StrankaID, Artikel, Kolicina) VALUES (3, 'Podložke', 20)"
2. Vstavite dve mreži
Ustvarite prazen obrazec, ga shranite kot frmStranke in ostanite v pogledu načrta. Izberite
Načrt obrazca › Kontrolniki › Kontrolniki ActiveX (Form Design › Controls › ActiveX Controls),
označite WKL Grid in kliknite V redu. Kontrolnik narišite čez zgornjo polovico obrazca in ga
poimenujte Grid1. Pod njim vstavite še eno mrežo WKL Grid in jo poimenujte Grid2. Shranite
obrazec.
3. Z oblikovalnikom vežite stranke
Izberite Grid1, odprite list z lastnostmi, zavihek Drugo, in v vrstici Po meri kliknite
[...]. V oblikovalniku:
- Stran Vir zapisov: kot tabelo izberite
tblStranke, kot polje ključaStrankaID, nato kliknite Ustvari stolpce iz polj. - Stran Stolpci: izberite
Promet, Oblika nastavite naCurrencyin Skupna vrednost v nogi naVsota. - Stran Združevanje in vsote: vklopite Noga z vsotami.
- Stran Videz: vklopite Predogled v živo z resničnimi podatki.
Predogled na desni prikaže tri stranke z vsoto. Kliknite V redu in shranite obrazec.
4. Povežite naročila z izbrano stranko
Izberite Grid2 in na enak način odprite njegov oblikovalnik:
- Stran Vir zapisov:
tblNarocila, polje ključaNarociloID, Ustvari stolpce iz polj. - Stran Povezava: kot Glavno polje izberite
Grid1(seznam ponudi druge mreže obrazca in njihova polja), kot Podrobno polje paStrankaID.
Kliknite V redu in shranite obrazec. Koda ni potrebna: Grid2 prikazuje naročila stranke, ki je
izbrana v Grid1.
5. Dodajte podrobni pogled
Znova odprite oblikovalnik mreže Grid1, stran Podrobni pogledi, kliknite Dodaj in vnesite:
tabela tblNarocila, polje ključa NarociloID, podrobno polje StrankaID, glavno polje StrankaID,
napis Naročila. Kliknite V redu in shranite obrazec.
Enako dosežete s kodo, na primer v Form_Load:
Me.Grid1.Object.AddDetailView "Narocila", "tblNarocila", "NarociloID", "StrankaID", "StrankaID", "Naročila"
6. Preizkusite obrazec
Odprite frmStranke v pogledu obrazca:
- V
Grid1klikniteCvet:Grid2prikaže dve naročili. - Kliknite puščico levo od
Cvet(ali pritisnite Ctrl in +): naročila se odprejo pod zapisom na zavihku Naročila. - Glavo Kraj povlecite v vrstico združevanja nad glavami: stranke se združijo po mestih, vsaka vrstica skupine pa prikazuje število svojih zapisov in vsoto.
- Z desno tipko miške kliknite glavo stolpca in izberite Prikaži vrstico filtra, nato pod Promet vnesite
>= 100: ostaneta samo Adria in Cvet; vrstica s pogoji filtra pod mrežo prikazuje pogoj. - Z desno tipko miške kliknite mrežo in izberite Izvozi …, da mrežo shranite kot Excelov delovni zvezek s skupinami kot orisom.
Pričakovani rezultat
Obrazec z dvema mrežama, ki delujeta skupaj brez ene same vrstice kode: naročila sledijo izbrani stranki, vsaka stranka se razširi v svoja naročila, skupine, filtri in vsota pa se na uporabnikova dejanja odzovejo takoj. Nastavitve oblikovalnika se shranijo skupaj z obrazcem.
Naslednji koraki
- Povezovanje dveh mrež brez kode, tudi s podobrazcem Accessa