• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Treeview > Hoe het beste gegevens selecteren voor de nodes?

Status
Niet open voor verdere reacties.

sannevanzijl

Gebruiker
Lid geworden
10 dec 2013
Berichten
17
Hallo allemaal

Als je eenmaal bezig bent, dan gaat het leren heel hard. Zoals in eerdere berichten al vermeld ben ik een genealogieprogramma aan het schrijven dat gebaseerd is op Excel tabellen.
Nu heb ik een mooie user interface gemaakt om gegevens te raadplegen, in te voeren en te wijzigen, zo ver allemaal goed.
Maar in het userform wil ik ook een treeview opnemen.
Het is me al gelukt om de topnode en de 1e trap te definieren.
Topnode is de geselecteerde persoon, en de eerste trap zijn:
* Ouders
* Broers & Zussen
* Partners
* Kinderen
* Feiten
* Timeline

Maar nu moet ik voor de 2e trap, de node broers&zussen, alle personen selecteren die de zelfde koppelcode hebben voor de ouders, maar natuurlijk niet de geselecteerde persoon zelf. Ook moet ik wat basisinformatie van deze personen inladen om het label van de node te kunnen maken.

Hoe kan ik dat het beste doen?
Ik heb al een aantal manieren bedacht maar het moet vast efficienter kunnen.

Mijn 1e idee was:
1. Autofilter op kolom ouderskoppelcode Criteria1 = ouderskoppelcode
2. Kopieer de hele regels van de selectie
3. Plak selectie op een nieuw blad
4. Vul de nodes met de juiste informatie
5. Verwijder autofilter op tab personen
6. Verwijder tijdelijk tabblad

Ik heb ook zitten denken aan een loop constructie:
1. Bepaal het aantal broers/zussen (siblingCount=) met AANTAL.ALS
2. NodeCount = 0
3. Do Untill NodeCount = siblingCount
ZOEK ouders koppelcode
Zoek in de zelfde rij de ID
Als ID <> PersoonAktief
Add node
NEXT​
Nodecount = Nodecount + 1
End Do

Ik vermoed dat de laatste methode misschien sneller werkt, maar ik denk dat er ook een voordeel schuilt in de eerste methode, namelijk dat de informatie van de broers/zussen makkelijker paraat is.
Dat maakt de code weer simpeler wanneer ik overzichten enzo wil maken van de actieve persoon.
Ik heb zelfs al zitten denken om alle verwante personen naar de tijdelijke tab te kopieren, meteen bij het selecteren van de actieve persoon.

Wat denken jullie dat de beste methode is?
Groet
Sanne
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan