Start
 

Aldfaer

Hét gratis stamboomprogramma

U bent op pagina StartForumSjablonenIndex sorteren
.

Index sorteren


  Posten niet toegestaanPage: « < 1 of 1 > »
20 Apr 2008 - 15:261304
Index sorteren

Ik ben bezig met een Hook bestand voor het standaard Kwartierstaat rapport. Daarin maak ik een Indez met een eigen layout. De sortering doe ik, zoals gebruikelijk, met: _SETSORT( MijnIndex, _SURN, _NAMEFIRS, _BIRTDATE )
Nu heb ik gemerkt dat personen met dezelfde achternaam maar verschillende voorvoegsels (zoals "van der Vliet" en "van Vliet") door elkaar in de lijst komen, terwijl ik ze graag gescheiden wil hebben. Een sortering op _NAMEPREF toevoegen aan de _SETSORT werkt niet omdat _SETSORT maksimaal drie keywords aankan.
Heeft er iemand een oplossing?

Groet,



__________________
Peter van der Vliet
genealogie.vandervliet-online.com
21 Apr 2008 - 01:421322

Peter,

Wat is de kans dat je een voornaam heb die dubbel voorkomt?

Dus kan je de sort op geb.datum wel weglaten lijkt mij.



__________________
Bert vd Brandt

aliases: bouwen_Drunen, brandt_ll, easelmail, frank_aa, frans_Maes_schijndel, Grietje, llbrandt, llbrandt1, llbrandt2, llbrandt4, Wander, Waltergroen
21 Apr 2008 - 09:561327

Bert,

Dat zal helaas niet gaan. In mijn kwartierstaat komen nu zo'n 60 "van der Vlieten" voor, waarvan een redelijk aantal met dezelfde voornaam. Ik zoek dus een "echte" oplossing (die mogelijk ook in andere gevallen van nut kan zijn).
Ik heb al wat geëxperimenteerd met de Copyset (_SETFILL( X , Y ), maar krijg dat niet aan de praat.

Groet,
Peter



__________________
Peter van der Vliet
genealogie.vandervliet-online.com
21 Apr 2008 - 12:281336

Bijkomend probleem is dat _NAMEPREF door _SETSORT niet herkend wordt als een tag waarop gesorteerd kan worden.
Idealiter wordt _SETSORT uitgebreid met meer dan 3 sorteerargumenten en sorteert _SETSORT ook op _NAMEPREF. Maar daar ben je nu niets mee.

Een mogelijke oplossing is te werken met een stringset op namen en per string in die set een personenset die je dan sorteert op voornaam en geboortedatum.

Dus zoiets als:
_SETDEF(namen)
_SETDEF(naam)
_SETBEGI(Index)
_SETCLR(naam)
_SETADD(naam, [:[:[:_SURN[&[?_SURN?][?_NAMEPREF?], &]:][:_NAMEPREF:]:]|[&<onbekend>&]:])
[?_SETORDE(namen,[:_SETEXP(naam,1,_SETSTRI):])==?]?_BEGI
_SETADD(namen,[:_SETEXP(naam,1,_SETSTRI):])
_SETDEF([:idx[:_SETEXP(naam,1,_SETSTRI):]._PATH:])
_END
_SETADD([:idx[:_SETEXP(naam,1,_SETSTRI):]._PATH:])
_SETEND

De stringset sorteer je dan:
_SETSORT(namen, _SORTNUM)

En dan doorloop je die stringset, en je sorteert telkens de corresponderende personenset op voornaam en geboortedatum:
_SETBEGI( namen )
_SETSORT([:idx[:_SETSTRI:]._PATH:], _NAMEFIRS, _BIRTDATE)
_SETBEGI([:idx[:_SETSTRI:]._PATH:])
hier wegschrijven in gewenste formaat
_SETEND
_SETEND

Ik heb bovenstaande code niet uitgeprobeerd, maar ik gebruik deze constructie wel in de index van het CBG rapport 'Kwartierstaat in stamreeksen'.



__________________
Antoon Bosselaers
lid Aldfaer-team
21 Apr 2008 - 19:401361

Antoon,

Het werkt perfekt. Bedankt! Maar de door jou genoemde ideale _SETSORT zou inderdaad een elegantere oplossing zijn. Zit ie al in de pipeline?

Groet,
Peter



__________________
Peter van der Vliet
genealogie.vandervliet-online.com
  Posten niet toegestaanPage: « < 1 of 1 > »

© Stichting Aldfaer - ingeschreven bij de KvK Noord-Nederland onder nr. 01096526