Gradnja drevesa iz ploskih zapisov
Pogled ali prepustno poizvedbo brez ključa nadrejenega zapisa prikažite kot drevo, združeno po vrednostih nekaterih njenih polj.
Zahteva WKL Forms Object Library 1.23 ali novejšo različico.
Pregled rešitve
GroupFields navaja polja, po katerih se združuje, najprej zunanje, ločena s podpičji. Seznam na vsaki ravni ustvari
eno vozlišče skupine za vsako različno vrednost; zapisi postanejo listi. ParentField lahko ostane prazen.
Izvedba
With Me!List1.Object
.RecordSource = "ptqOpravilaPlosko" ' pass-through query to SQL Server
.KeyField = "OpraviloID"
.ParentField = ""
.TextField = "Navodilo"
.GroupFields = "Lokacija;Stavba;Nadstropje"
End With
Opombe
- Vsako vozlišče skupine prikaže svojo vrednost kot besedilo (
(prazno)za Null ali prazno besedilo), število svojih zapisov pa kot zaslonski namig. - Skupine na vsaki ravni so urejene po svoji vrednosti, ki se primerja glede na njen tip: datumi in števila se razvrščajo kot datumi in števila, ne kot besedilo. Smer za vse ravni določa
SortOrder: priwsoAscending(privzeto) je na vrhu najstarejši dan, priwsoDescendingnajnovejši. Razvrščen stolpec (SortDirection) uredi le zapise znotraj skupine, ker vozlišča skupin v stolpcih nimajo vrednosti. Izjema je stolpec poljaTextField, ki prikaže vrednost skupine kot besedilo: od izdaje 1.62 razvrščanje tega stolpca uredi skupine po njihovi vrednosti v smeri stolpca. Skrit stolpec s poljem skupine vrstnega reda skupin ne spremeni. - Skupine ne predstavljajo nobenega zapisa: ni jih mogoče urejati, preimenovati ali brisati; dodajanje, kopiranje in premikanje so izklopljeni; vsote v nogi štejejo samo zapise.
- Združeni zapisi se vedno naložijo v celoti, zato iskanje teče po naloženih vozliščih, ne da bi znova poizvedovalo po viru.
Filterše vedno pošlje poizvedbo viru zapisov. - Če je nastavljen tudi
ParentField, zapis z obstoječim nadrejenim zapisom ostane pod njim. - Razširjene skupine in izbira preživijo
Requery, ker so ključi skupin sestavljeni iz vrednosti njihove poti. - Večino časa
Requerypri združenih zapisih porabi branje poizvedbe; gradnja skupin doda malo.
Sorodne teme
sl/wiki/msaccess/comctl/how-to/group-flat-records.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille