🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

SQL Abfrage: Feld1 + Text + Feld2

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
SignalSpirit
Beiträge: 10
Registriert: Do 10. Nov 2011, 02:01

SQL Abfrage: Feld1 + Text + Feld2

Beitrag von SignalSpirit » Do 10. Nov 2011, 02:13

Hallo zusammen,

mich treibt gerade eine Abfrage in den Wahnsinn.

Ich brauche folgendes: Eine Abfrage vereinigt 2 Felder aus einer Tabelle, wobei dazwischen ein String eingefügt werden soll.
Also Feld1 + Zeichenkette + Feld2

Tabelle: Etikettendruck
Feld1: Test1
Feld2: Test2
Neues Feld in der Abfrage: Test3
Zeichenkette: " + "

Normalerweise sollte das doch mit Folgender SQL-Abfrage funktionieren

Code: Alles auswählen

SELECT "Test1" + '   +   ' +  "Test2" AS "Test3" FROM "Etikettendruck"
Die nimmt aber LibreOffice nicht an (Fehler in SQL-Syntax)

Code: Alles auswählen

SELECT "Test1" +  "Test2" AS "Test3" FROM "Etikettendruck"
Wird angenommen, da fehlt aber dann natürlich die Zeichenkette :cry: .

Kann mir jemand sagen, was ich falsch mache?

Gruß SignalSpirit

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von gogo » Do 10. Nov 2011, 02:56

Du kannst mit concat verschachteln (HSQL erlaubt pro concat nur 2 Bergiffe, daher die 2 concats):

Code: Alles auswählen

SELECT concat(concat("Test1",'+'), "Test2") AS "Test3" FROM "Etikettendruck"
g
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

SignalSpirit
Beiträge: 10
Registriert: Do 10. Nov 2011, 02:01

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von SignalSpirit » Do 10. Nov 2011, 11:35

Super! Danke für die schnelle Antwort! Das funktioniert.

Hast du eine Idee, warum HSQL meinen ursprünglichen Befehl nicht mag?

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von F3K Total » Do 10. Nov 2011, 23:11

... oder so ...

Code: Alles auswählen

SELECT "Test1" || '   +   ' || "Test2" AS "Test3" FROM "Etikettendruck"
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Freischreiber
* LO-Experte *
Beiträge: 834
Registriert: Fr 28. Mär 2014, 10:41

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von Freischreiber » Mo 31. Mär 2014, 16:56

Hallo,

auf dieses Thema bin ich gestoßen, weil ich eine Abfrage erstellen will, die einen vollständigen Adressblock liefert.

Dazu benötige ich auch Absätze, um Straße und PLZ Ort in eine neue Zeile zu bekommen.

Gibt es dafür einen HSQL-Befehl? Ich habe mit \r\n, mit char(13), mit crlf experimentiert, aber das schmeckt ihr alles nicht...
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

gogo
* LO-Experte *
Beiträge: 1081
Registriert: Sa 5. Feb 2011, 19:07

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von gogo » Mo 31. Mär 2014, 18:09

das kommt immer auf die interprtierende Oberfläche an. Die Datenbank liefert immer nur ein Zeichen - ob dieses dann als Umbruch dargestellt wird, entscheidet nicht die Datenbank.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Freischreiber
* LO-Experte *
Beiträge: 834
Registriert: Fr 28. Mär 2014, 10:41

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von Freischreiber » Mo 31. Mär 2014, 18:15

Hallo gogo,

die interpretierende Oberfläche ist LibreOffice Base: Table Data View, also das Fenster, das aufgeht, wenn ich die Abfrage starte.

Welches Zeichen könnte man denn nehmen, damit eine neue Zeile anfängt?
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

RobertG
* LO-Experte *
Beiträge: 2884
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von RobertG » Mo 31. Mär 2014, 18:58

Hallo Freischreiber,

ich zitiere hier einmal das aktuelle Handbuch, S. 277:
Zeilenumbruch durch eine Abfrage erreichen
Manchmal ist es sinnvoll, durch eine Abfrage verschiedene Felder zusammenzufassen und mit
einem Zeilenumbruch zu trennen. So ist es z.B. einfacher eine Adresse in einen Bericht komplett
einzulesen.
Der Zeilenumbruch innerhalb einer Abfrage erfolgt durch 'Char(13)'. Beispiel:
SELECT "Vorname"||' '||"Nachname"||Char(13)||"Straße"||Char(13)||"Ort"
FROM "Tabelle"
Dies erzeugt nachher:
Vorname Nachname
Straße
Ort
Mit so einer Abfrage, zusammen mit einer Nummerierung jeweils bis zur Nummer 3, lassen sich
auch dreispaltige Etikettendrucke von Adressetiketten über Berichte realisieren. Eine Nummerie-
rung ist in diesem Zusammenhang nötig, damit drei Adressen nebeneinander in einem Datensatz
erscheinen. Nur so sind sie auch nebeneinander im Bericht einlesbar.
Die Darstellung mit Zeilenumbruch erfolgt nicht in der Abfrageansicht, sehr wohl aber im Bericht oder auch in mehrzeiligen Formularfeldern.
Im Handbuch sind dann auch noch die Eingaben für einen Tabulator sowie einen sicheren Zeilenumbruch in Linux/Mac enthalten. Siehe dazu S. 358. Char(9) - Tabulator, Char(10) - Zeilenvorschub
Manchmal ist es sicherer, Char(13)||Char(10) zu kombinieren. Das ist sozusagen die universelle Variante für alle Systeme, um einen sicheren Umbruch zu erhalten.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Freischreiber
* LO-Experte *
Beiträge: 834
Registriert: Fr 28. Mär 2014, 10:41

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von Freischreiber » Di 1. Apr 2014, 12:14

Hallo,

vielen Dank, es scheint so wirklich zu gehen. Leider kann man dem Handbuch nicht ansehen, daß man Absätze nicht direkt in der Abfrage sieht.

Was ich eigentlich will, ist irgendeine Methode, eine Adresse aus dem gerade angezeigten Datensatz in definierter Form in ein Textdokument zu bekommen, also als

Vorname Name
Straße Hausnr.
PLZ Ort

Am liebsten direkt in die Windows-Zwischenablage, oder kopierbar in einem Textfeld. Ob das per Abfrage, Makro, mehrzeiligem Textfeld oder sonst wie geht, ist mir eigentlich gleichgültig.

Aber ich scheitere auf sämtlichen Stufen:

Ich kriege aus der Abfrage kein Textfeld hin mit dem Formularnavigator. Ich kann zwar eines einfügen, aber der Inhalt bleibt immer gleich (Adresse aus Datensatz 1), und wechselt nicht mit, wenn ich die Datensätze durchblättere.

Und der - nicht aktualisierte - Datensatz ist auch noch nicht in der Zwischenablage, sondern ich muß ihn von Hand kopieren.

Eine Lösung mit Libreoffice-Writer-Feldern und Einfügen aus Datenquelle bringt mir nichts, ich brauche ihn in der Zwischenablage, weil ich noch viele alte Word-Dokumentvorlagen habe, wo die Adresse rein soll...
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de

Freischreiber
* LO-Experte *
Beiträge: 834
Registriert: Fr 28. Mär 2014, 10:41

Re: SQL Abfrage: Feld1 + Text + Feld2

Beitrag von Freischreiber » Di 1. Apr 2014, 14:14

Juhu, es geht... meine Abfrage hatte nur eine Spalte für die SQL-Abfrage für das kombinierte Textfeld Vorname,Name,etc. enthalten, und keine ID. Mit einer zusätzlichen ID-Spalte gibt es was, um das Textfeld-Formular ordentlich mit dem Hauptformular zu verknüpfen... Erfolge bei Base sind wirklich hartes Brot :mrgreen:

Eine Idee, wie man dieses Adreßfeld in die Zwischenablage bekommt, ist aber immer noch sehr willkommen.
Freischreiber nutzt seit 1/2025 LibreOffice Version 7.2.7.2 unter Windows 11 und SplitDB mit HSQL 2.7.4.
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten