Straatnummers sorteren

Weet je niet waar je je bericht moet zetten? Doe het hier

Straatnummers sorteren

Berichtdoor GerardO » wo jan 07, 2015 5:29 pm

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
GerardO
 
Berichten: 6
Geregistreerd: ma jan 05, 2015 2:50 pm

Re: Straatnummers sorteren

Berichtdoor RPG » wo jan 07, 2015 5:48 pm

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 6.3.3.2.0 op openSUSE Leap 15.1
RPG
 
Berichten: 4091
Geregistreerd: wo apr 15, 2009 1:01 am
Woonplaats: Apeldoorn, Nederland

Re: Straatnummers sorteren

Berichtdoor eremmel » wo jan 07, 2015 6:08 pm

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 bijgewerkt door eremmel op wo jan 07, 2015 7:43 pm, in totaal 1 keer bewerkt.
Reden: Extra informatie
W10: LO 6.3.4.2 (x64)
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici
eremmel
 
Berichten: 638
Geregistreerd: di sep 01, 2009 10:11 am
Woonplaats: Barneveld, Nederland

Re: Straatnummers sorteren

Berichtdoor Alex » za jan 10, 2015 2:06 pm

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.5 & LO 5.0.6 op Windows XP & 7
Alex
 
Berichten: 94
Geregistreerd: do feb 25, 2010 8:46 pm


Keer terug naar Beginners

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron