Ga naar inhoud
  • 0

Sorteervolgorde


hans erik

Vraag

Ik zoek een handige oplossing voor het volgende. Ik heb een keuzelijst met woonplaatsen. Die komen uit een tabel, met een veld waarin de woonplaatsen als een lijstje zijn opgeslagen per gemeente. Werkt uitstekend: je krijgt een keuzelijst met 2500 namen. Maar... de namen zijn gesorteerd (uiteraard) en nu verschijnen alle namen die met een ' beginnen bovenaan. Met 's-Gravenhage kan ik vrede hebben, maar 's-Heerenberg mag van mij ook wel onderaan, evenals 't-Goy.

Geprobeerd om de taal van de sorteervolgorde te veranderen, maar dat heeft geen effect: unicode, Nederlands, Frans heeft allemaal hetzelfde effect, de ' komt altijd eerst.

Is er een sorteervolgorde waarin dat anders is?

Er zijn twee alternatieven:

- de BOM optie (Byte Order Mark) maar dat vind ik niet echt handig omdat je dan telkens de BOM moet verwijderen nadat je de woonplaats hebt gekozen;

- verwijderen van de quotes. Maar ja, dan zijn de namen weer niet conform de officiële schgrijfwijze en moet ik iets gaan truken om die quote weer terug te zetten...

Link naar reactie

10 antwoorden op deze vraag

Aanbevolen berichten

  • 0

Heb ik aan gedacht, maar:

- de gebruiker moet ook een andere woonplaats kunnen invullen (een buitenlandse woonplaats bijv.) en dat kan dan wel, maar het is net iets gecompliceerder.

- de woonplaatsen zitten als lijstje in een tekstveld. Ik heb nu dus 355 records (1 voor elke gemeente) met een tekstveld dat soms 1 naam bevat maar meestal meerdere namen als delimited list. Dan moet ik dus elke woonplaats een eigen record geven, anders gaat die constructie sowieso niet werken. 

Alternatief is misschien ook om in de velddefinitie te checken of een naam met s- of t- begint en er dan een ' voor te zetten. Bah.

Link naar reactie
  • 0

Ik zou het tweede punt wel doen indien mogelijk, elke plaatsnaam met bijbehorende gemeente in een apart record. Zelf heb ik ook nog provincie erbij.

Het derde punt gaat niet werken als je het goed invoert, 't Goy en 't Zand en vele andere plaatsen hebben geen streepje na de t of s. Dan kun je er dus ook niet op checken.

Hoe kom je overigens op 2500 namen? Ik heb iets meer dan 3200 plaatsnamen in mijn database. Zitten een aantal dubbel in, zoals 's-Gravenhage en Den Haag, maar 700 verschil is veel.

Kun je bij het selecteren van de plaatsnaam niet eerst een provincie of gemeente selecteren? En dan pas een plaats? Dat beperkt de lijst van 2500 tot een veel kleiner aantal om uit te kiezen. Misschien is dan de sortering van kleiner belang.

Link naar reactie
  • 0
3 hours ago, hiker said:

Hoe kom je overigens op 2500 namen? Ik heb iets meer dan 3200 plaatsnamen in mijn database. Zitten een aantal dubbel in, zoals 's-Gravenhage en Den Haag, maar 700 verschil is veel.

Ik heb de lijst gedownload van de website van het CBS. Dat zijn 2500 woonplaatsen, met woonplaatscode.

Een provincie eerst selecteren is te complex. Bovendien is de lengte vd lijst niet het probleem, maar de volgorde.

Link naar reactie
  • 0

Nog eens naar dit probleem gekeken.

De BOM-optie biedt wel een uitweg: je voegt 2 velden toe aan de tabel met plaatsnamen. Een geeft het 'cluster' aan: behoort de plaatsnaam tot de 'normale' namen of tot de namen die je liever onderaan de lijst wilt hebben. Het andere veld is een berekend veld dat de BOM combineert met de plaatsnaam, als deze tot de tweede cluster behoort, dus ( =  if (<clusterYN> ; char(65279) ; "" ) & <plaatsnaam> ) . De keuzelijst wordt samengesteld uit het berekende veld en na invullen/kiezen van de plaatsnaam wordt de BOM eraf gehaald met een substitute (<plaatsnaam> ; char(65279) ; "" ).

Link naar reactie
  • 0

Het is wel jammer dat je bij een keuzelijst de sorteervolgorde niet gewoon kunt aangeven. Dus bijvoorbeeld je hebt een keuzelijst met plaatsnamen en je wilt om wat voor reden dan ook dat de namen die met een 'm' beginnen bovenaan komen te staan. Je zou dan als basis voor de sorteervolgorde een andere keuzelijst moeten kunnen nemen, net zoals je dat bij een sorteeropdracht ook kunt aangeven. Sorteren is een heel belangrijk onderdeel van elke database / reporting applicatie, en FileMaker zou hier het verschil kunnen maken.

Link naar reactie

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...