Is er en formule/functie in base om velden te koppelen (bijv. Aanhef -Vltr enof vvgsl enz.) zodat bij geen vvgsl de ruimte wordt opgevuld.
Ldk
Velden samenvoegen in een rapport (Opgelost)
Velden samenvoegen in een rapport (Opgelost)
Laatst gewijzigd door ldk op di sep 01, 2009 11:38 am, 1 keer totaal gewijzigd.
OpenOffice 3.2.1 op Windows XP
Re: Velden samenvoegen in een rapport
Hallo
Er is, voor zover ik weet, geen functie in OpenOffice.org-base die dat doet.
Wel kun je zelf iets maken met de ingebouwde functie van je database engine.
Ik denk dat je beter eerst een query kunt maken die de velden goed maakt voor dat rapport en dan het rapport maken. Overigens ik maak weinig tot geen gebruik van rapporten. Ik zal er een voorbeeld bij doen hoe ik het op gelost heb.
Verklaring
De dubbele rechtopstaande streepjes is de SQL manier op strings bij elkaar te voegen.
Zero length string en NULL waarde string.
Het onderscheid tussen deze twee is klein maar zorgt voor veel verwarring bij mensen die pas met een database beginnen. Deze verwarring komt door het feit dat de database er zover schillend mee omgaat.
Een zero length string is een string met de lengte van 0 letters. maar het is een string.
Een NULL waarde string bestaat feitelijk niet.
Het probleem kom om de hoek kijken bij bewerkingen.
Voorbeeld
Dit deel kijkt naar een veld uit mijn tabel als het een null waarde veld is dan wordt er een null waarde string door geven anders wordt het veld door gegeven met een spatie. Zie voor gaande uitleg.
Er wordt ook gebruik gemaakt van dubbele aanhalingstekens en enkele aanhalingsteken.
Enkele aanhalingstekens worden gebruikt voor letterlijke woorden.
Dubbele aanhallings tekens worden gebruikt voor variabelen
Testen
Bij het voor het eerst gebruiken van deze testen is het ook verstandig om je tabellen te testen op zero length string en null waardes. Dit is te doen in de query ontwerper. Selecteer de velden die je wilt testen en typ daar in
voor een zero length string : = ''
voor een null waarde : is null of is leeg
Voor een gedetaileerde informatie kijk in de help file. Als je met queries wilt werken is die uitleg onontbeerlijk.
Romke
Er is, voor zover ik weet, geen functie in OpenOffice.org-base die dat doet.
Wel kun je zelf iets maken met de ingebouwde functie van je database engine.
Ik denk dat je beter eerst een query kunt maken die de velden goed maakt voor dat rapport en dan het rapport maken. Overigens ik maak weinig tot geen gebruik van rapporten. Ik zal er een voorbeeld bij doen hoe ik het op gelost heb.
Code: Selecteer alles
SELECT
-- Compositie van de naam met titels en nog meer zaken
COALESCE("Titel"||' ' ,'') ||
COALESCE("schr_vnaam" || ' ','')
|| COALESCE("tussen"||' ' ,'')
|| COALESCE("schr_naamvol"||' ','')
|| COALESCE(' ' || "achter" ,'') as "Naam" ,
"NAAMID"
FROM "namen31" "namen31"
Verklaring
De dubbele rechtopstaande streepjes is de SQL manier op strings bij elkaar te voegen.
Zero length string en NULL waarde string.
Het onderscheid tussen deze twee is klein maar zorgt voor veel verwarring bij mensen die pas met een database beginnen. Deze verwarring komt door het feit dat de database er zover schillend mee omgaat.
Een zero length string is een string met de lengte van 0 letters. maar het is een string.
Een NULL waarde string bestaat feitelijk niet.
Het probleem kom om de hoek kijken bij bewerkingen.
Voorbeeld
Code: Selecteer alles
Constante || veldwaarde geeft resultaat
'Romke' || zero length veld ---> 'Romke'
'Romke' || null veld ---> null waarde
Code: Selecteer alles
COALESCE(' ' || "achter" ,'')
Er wordt ook gebruik gemaakt van dubbele aanhalingstekens en enkele aanhalingsteken.
Enkele aanhalingstekens worden gebruikt voor letterlijke woorden.
Dubbele aanhallings tekens worden gebruikt voor variabelen
Testen
Bij het voor het eerst gebruiken van deze testen is het ook verstandig om je tabellen te testen op zero length string en null waardes. Dit is te doen in de query ontwerper. Selecteer de velden die je wilt testen en typ daar in
voor een zero length string : = ''
voor een null waarde : is null of is leeg
Voor een gedetaileerde informatie kijk in de help file. Als je met queries wilt werken is die uitleg onontbeerlijk.
Romke
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Re: Velden samenvoegen in een rapport
Hallo Romke,
Bedankt voor de aanwijzingen.
Het samenvoegen gaat prima op deze manier. I.p.v. 2 verticale streepjes voor verbinding heb ik een + gezet en dat werkt ook goed.
M.vr. gr.
Ldk
Bedankt voor de aanwijzingen.
Het samenvoegen gaat prima op deze manier. I.p.v. 2 verticale streepjes voor verbinding heb ik een + gezet en dat werkt ook goed.
M.vr. gr.
Ldk
OpenOffice 3.2.1 op Windows XP
Re: Velden samenvoegen in een rapport
Hallo
Conform de SQL instructies is het beter als je string wilt samen voegen om "||" te gebruiken en niet "+". Het plus teken moet gebruit worden voor een reken kundige bewerking. Ik weet ook dat string ook samengevoegd worden met een "+" teken maar bij fout zoeken kan het dan veel langer duren voor dat je op het idee op komt.
Romke
De quote komt uit de handleiding van de database engine die het werkt doet in OpenOffice.org-base.String contatenation should be performed with the standard SQL operator || rather than the non-standard + operator.
Conform de SQL instructies is het beter als je string wilt samen voegen om "||" te gebruiken en niet "+". Het plus teken moet gebruit worden voor een reken kundige bewerking. Ik weet ook dat string ook samengevoegd worden met een "+" teken maar bij fout zoeken kan het dan veel langer duren voor dat je op het idee op komt.
Romke
LibreOffice 7.4.3.2 op openSUSE Leap 15.4
Re: Velden samenvoegen in een rapport
Het gebruik van het plus-teken voor concateneren van string data waarden met velden geeft ook een fout, bv.
Code: Selecteer alles
SELECT "Titel" + ' string waarde ' FROM "namen31"
W11 21H2 (build 22000), LO 7.4.1.2(x64)
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici
Het is Microsoft marketing die laat geloven dat computers geschikt zijn voor niet technici