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
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
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
End Do
Zoek in de zelfde rij de ID
Als ID <> PersoonAktief
Add node
NEXT
Nodecount = Nodecount + 1Add node
NEXT
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