Straatnummers sorteren

Weet je niet waar je je bericht moet zetten? Doe het hier
GerardO
Berichten: 6
Lid geworden op: ma jan 05, 2015 2:50 pm

Straatnummers sorteren

Bericht door GerardO »

Hallo,

ik heb het volgende probleem : Na het maken van een rapport in Open Office Base wil ik de straatnamen en de nummers in dat rapport oplopend sorteren.
Dit krijg ik niet voor elkaar, zie onderstaand rijtje.
De gegevens voor dit rapport krijg ik uit een groot programma voor ledenadministratie, die sla ik op in een werkblad in Exel (xls) Daar haalt Open Office dan weer de gegevens uit

Graafdijk
10
Graafdijk
12
Graafdijk
12
Graafdijk
16
Graafdijk
2
Graafdijk
2
Graafdijk
2
Graafdijk
2
Weet iemand de oplossing ?

Bij voorbaat dank

Gerard
Open Office 4.1.1 op Windows 8.1
RPG
Berichten: 4727
Lid geworden op: wo apr 15, 2009 1:01 am
Locatie: Apeldoorn, Nederland

Re: Straatnummers sorteren

Bericht door RPG »

Hallo

Ik geloof niet dat daar een gemakkelijke oplossing is. Ik denk dat de vraag begint met hoe groot is de database. Bij een grote database lijkt mij het niet verstandig om het in de rapport generator het probleem op te lossen als het al kan. Ik denk dat het alleen met de oracle rapport generator misschien mogelijk is.

Je kunt er ook voor kiezen om het misschien op te lossen voor een deel in SQL code en het sorteren laten doen in het rapport. Je zult dan code moeten maken die de naam van het adres en het nummer uit elkaar haalt. Ik denk dat ze dan pas in de rapor generator samengevoegd kunnen worden.

Je kunt ook gelijk twee velden maken een voor de naam en een voor het nummer. blijft over dat er soms ook nog letter en andere zaken zijn dus mogelijk een derde veld.

Na bovenstaande probleem schets is het misschien verstandig om te melden welke database engine gebruik je? Kijk links onder in het venster. Hoe groot is je database en hoe dringend is het allemaal?

Romke
LibreOffice 24.2.4.2 op openSUSE Leap 15.6
eremmel
Berichten: 670
Lid geworden op: di sep 01, 2009 10:11 am
Locatie: Barneveld, Nederland

Re: Straatnummers sorteren

Bericht door eremmel »

Het lijkt erop dat de huisnummers alfabetisch worden gesorteerd ipv numeriek. Je moet dus dat deel van de query die het huisnummer ophaalt het nummer laten omzetten in een nummer. Maar nu kan het probleem zich voordoen dat er ook nummers zijn die luiden '3bis' oid.

Het omzetten naar een numerieke waarde is verschillend per database type, maar een redelijk gangbare methode is: CAST(). Dus bv.
SELECT straatnaam, CAST(huisnummer AS INTEGER) AS "huisnummer"
FROM adressen
ORDER BY 1,2

Als er huisnummers zoals '5-bis' dan gaat het mis. Dan moeten we iets anders proberen. Een mogelijkheid om een View te maken (See table-sectie in Base) met de volgende inhoud (geeft het bv de naam 'vAdressen'):
SELECT straatnaam, RIGHT( '__________' || "huisnummer", 10 ) AS "huisnummer" FROM "adressen" ORDER BY 1,2
Dus elk nummer wordt uitgevuld met '_' en correct gesorteerd.
In de rapportage gebruik dan:
SELECT "straatnaam", replace("huisnummer",'_','') as "huisnummer" FROM vAdressen
Alle _ worden weer verwijderd. Note: nu niet meer sorteren!
Laatst gewijzigd door eremmel op wo jan 07, 2015 7:43 pm, 1 keer totaal gewijzigd.
Reden: Extra informatie
W11 21H2 (build 22000), LO 7.4.1.2(x64)
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici
Alex
Berichten: 106
Lid geworden op: do feb 25, 2010 8:46 pm

Re: Straatnummers sorteren

Bericht door Alex »

Als je tabel in A1 begint, probeer dan in B1 iets als =ALS(IS.ONEVEN(RIJ());A1&TEKST(A2;"???0");"")
Dan de vulgreep dubbelklikken, kolom B kopiëren met speciaal plakken met formules uitgevinkt en dan eventueel sorteren.
AOO 4.1.16 & LO 25.8.3 op Windows 10
Plaats reactie