🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> 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
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Freischreiber,
wozu brauchst Du das Adressfeld in der Zwischenablage? Willst Du vielleicht Serienbriefe damit befüllen? Das geht doch direkt.
Wenn ich den Text aus einem mehrzeiligen Kontrollfeld aus dem Formular kopiere, dann habe ich den auch in der Zwischenablage mehrzeilig.
Gruß
Robert
wozu brauchst Du das Adressfeld in der Zwischenablage? Willst Du vielleicht Serienbriefe damit befüllen? Das geht doch direkt.
Wenn ich den Text aus einem mehrzeiligen Kontrollfeld aus dem Formular kopiere, dann habe ich den auch in der Zwischenablage mehrzeilig.
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Robert,
ja, mehrzeilig ist genau das, was ich will. Das füge ich in das Adreßfeld einer Briefvorlage ein, und im gleichen Durchgang in das Adreßfeld einer Rechnungsvorlage, ohne daß ich dort Felder definieren muß. Die Vorlagen sind alle noch MS Office. Und wenn ich merke, der Umschlag wird groß, dann füge ich sie nochmal ein, auf ein leeres Blatt, und mache eine Etikette draus.
Serienbrief ist sowieso so ein Begriff, mit dem ich nicht viel anfangen kann, ich schreibe immer nur einen Brief auf einmal.
Im Moment will ich einfach die Funktion einer bei mir lange benutzten Adreßverwaltung nachbauen, die hieß "Adresse --> Zwischenablage". Sehr flexibel.
Und das Migrieren und Normalisieren dieser Adreßdaten mit Zusatzfeldern in eine neue Datenbank reicht mir im Moment völlig als Aufwand, alles andere soll erst mal so bleiben.
Gruß,
Freischreiber
ja, mehrzeilig ist genau das, was ich will. Das füge ich in das Adreßfeld einer Briefvorlage ein, und im gleichen Durchgang in das Adreßfeld einer Rechnungsvorlage, ohne daß ich dort Felder definieren muß. Die Vorlagen sind alle noch MS Office. Und wenn ich merke, der Umschlag wird groß, dann füge ich sie nochmal ein, auf ein leeres Blatt, und mache eine Etikette draus.
Serienbrief ist sowieso so ein Begriff, mit dem ich nicht viel anfangen kann, ich schreibe immer nur einen Brief auf einmal.
Im Moment will ich einfach die Funktion einer bei mir lange benutzten Adreßverwaltung nachbauen, die hieß "Adresse --> Zwischenablage". Sehr flexibel.

Und das Migrieren und Normalisieren dieser Adreßdaten mit Zusatzfeldern in eine neue Datenbank reicht mir im Moment völlig als Aufwand, alles andere soll erst mal so bleiben.
Gruß,
Freischreiber
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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Freischreiber,
Serienbrief klingt so, als ob damit tausende gleichlautende Briefe erzeugt werden sollen. Ich habe z.B. mit so einem Brief in meiner Zeit als Geschäftsführer eines Sportvereins die Antwortbriefe verfasst, wenn ein Vereinmitglied seine Mitgliedschaft kündigte und z.B. eventuell noch Vereinseigentum entliehen hatte. Das war dann grundsätzlich nur ein Brief. Ein Klick auf den Button "Drucken" im Formular startete bei mir dann den entsprechenden Brief mit den Daten der gerade ausgewählten Person, dem Austrittsdatum, dem Datum des Kündigungsschreibens usw.
Mit den Möglichkeiten des Serienbriefes können auch z.B. Rechnungen geschrieben werden. Allerdings ist hier das Design im Report-Builder einfacher. Auch hier ist es nur eine Frage der Filterung, dass eben nur eine Rechnung und nicht eine ganze Serie ausgedruckt wird.
Solange Du aber ein bereits laufendes System hast würde ich auch erst einmal vorsichtig sein, bevor ich bereits einstudierte und für mich sichere Arbeitsabläufe über Bord werfe.
Das neu zu gestalten ist eine Aufgabe, wenn ich so eine Sache, wie z.B. im Sportverein, an andere Leute weitergeben muss. Spätestens bei der Weitergabe müssen die Schritte nicht nur mir im Schlaf gelingen, sondern auch Leuten, die damit vorher nichts zu tun hatten.
Gruß
Robert
Serienbrief klingt so, als ob damit tausende gleichlautende Briefe erzeugt werden sollen. Ich habe z.B. mit so einem Brief in meiner Zeit als Geschäftsführer eines Sportvereins die Antwortbriefe verfasst, wenn ein Vereinmitglied seine Mitgliedschaft kündigte und z.B. eventuell noch Vereinseigentum entliehen hatte. Das war dann grundsätzlich nur ein Brief. Ein Klick auf den Button "Drucken" im Formular startete bei mir dann den entsprechenden Brief mit den Daten der gerade ausgewählten Person, dem Austrittsdatum, dem Datum des Kündigungsschreibens usw.
Mit den Möglichkeiten des Serienbriefes können auch z.B. Rechnungen geschrieben werden. Allerdings ist hier das Design im Report-Builder einfacher. Auch hier ist es nur eine Frage der Filterung, dass eben nur eine Rechnung und nicht eine ganze Serie ausgedruckt wird.
Solange Du aber ein bereits laufendes System hast würde ich auch erst einmal vorsichtig sein, bevor ich bereits einstudierte und für mich sichere Arbeitsabläufe über Bord werfe.
Das neu zu gestalten ist eine Aufgabe, wenn ich so eine Sache, wie z.B. im Sportverein, an andere Leute weitergeben muss. Spätestens bei der Weitergabe müssen die Schritte nicht nur mir im Schlaf gelingen, sondern auch Leuten, die damit vorher nichts zu tun hatten.
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Robert,
ein Königreich für den Button "Drucken" im Formular
Ja, das klingt schon verführerisch und für andere Leute wäre damit besser umzugehen als mit Handkopieren aus der Zwischenablage.
Aber wie stelle ich so einen Button an?
Vermutlich brauche ich auch da eine Abfrage, so wie bei dem kombinierten Textfeld, nur mit einzelnen, nicht zusammengefügten Feldern?
Die Filterung auf den einzelnen Datensatz macht ja das Formular, in dem sich der Button befindet, oder?
Und kann ich dann direkt eine mit Feldern vorbereitete Writer-Vorlage aufrufen oder muß ich irgendwie über einen Serienbriefassistenten oder diese Datenquellenansicht in Writer gehen?
Brauche ich dazu Makros oder geht das mit Hausmitteln?
Es wäre natürlich schön, so einen Button jetzt gleich zu haben und damit die Datenbank voll funktionsfähig zu haben. Die Vorlagen anpassen kann ich dann nach und nach.
Viele Grüße
Freischreiber
ein Königreich für den Button "Drucken" im Formular

Ja, das klingt schon verführerisch und für andere Leute wäre damit besser umzugehen als mit Handkopieren aus der Zwischenablage.
Aber wie stelle ich so einen Button an?
Vermutlich brauche ich auch da eine Abfrage, so wie bei dem kombinierten Textfeld, nur mit einzelnen, nicht zusammengefügten Feldern?
Die Filterung auf den einzelnen Datensatz macht ja das Formular, in dem sich der Button befindet, oder?
Und kann ich dann direkt eine mit Feldern vorbereitete Writer-Vorlage aufrufen oder muß ich irgendwie über einen Serienbriefassistenten oder diese Datenquellenansicht in Writer gehen?
Brauche ich dazu Makros oder geht das mit Hausmitteln?
Es wäre natürlich schön, so einen Button jetzt gleich zu haben und damit die Datenbank voll funktionsfähig zu haben. Die Vorlagen anpassen kann ich dann nach und nach.
Viele Grüße
Freischreiber
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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Freischreiber,
lade Dir von dem aktuellen Handbuch die Beispieldatenbanken runter. Kannst Du neben der LO-Website auch hier bekommen:
http://robert.familiegrosskopf.de/lo_hb
Da ist ein Päckchen "Serienbrief" drin. Du wirst da an Makros so nicht vorbeikommen - aber das schaffen wir dann gegebenenfalls auch noch.
Gruß
Robert
lade Dir von dem aktuellen Handbuch die Beispieldatenbanken runter. Kannst Du neben der LO-Website auch hier bekommen:
http://robert.familiegrosskopf.de/lo_hb
Da ist ein Päckchen "Serienbrief" drin. Du wirst da an Makros so nicht vorbeikommen - aber das schaffen wir dann gegebenenfalls auch noch.
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Robert,
danke, die Kröte "Makro" versuche ich gerade zu schlucken. Ich bin schon fündig geworden in einem alten Beitrag und hab dieses Makro hier gefunden, das perfekt paßt, es öffnet ein Writerdokument und füllt dort angelegte Platzhalter mit den Inhalten der gleichnamigen Textfelder des Formulars.
Mein letztes Problem: Das Formular besteht auch aus Listenfeldern, z. B. für Anrede, Faxnummer, die aus anderen Tabellen stammen.
Die Preisfrage lautet jetzt: Wie muß das Makro aussehen, damit auch diese Felder mitübergeben werden?
Ich hab mal BASIC auf dem C64 gemacht... damals... das sah aber anders aus
danke, die Kröte "Makro" versuche ich gerade zu schlucken. Ich bin schon fündig geworden in einem alten Beitrag und hab dieses Makro hier gefunden, das perfekt paßt, es öffnet ein Writerdokument und füllt dort angelegte Platzhalter mit den Inhalten der gleichnamigen Textfelder des Formulars.
Mein letztes Problem: Das Formular besteht auch aus Listenfeldern, z. B. für Anrede, Faxnummer, die aus anderen Tabellen stammen.
Die Preisfrage lautet jetzt: Wie muß das Makro aussehen, damit auch diese Felder mitübergeben werden?
Ich hab mal BASIC auf dem C64 gemacht... damals... das sah aber anders aus

Code: Alles auswählen
Sub Main
oDoc = thisComponent
oForm = oDoc.Drawpage.Forms(0)
oColumns = oForm.Columns
REM Pfad zur Vorlage zusammensetzen
Globalscope.BasicLibraries.loadLibrary("Tools")
sURL = oDoc.Parent.URL
sURL = DirectoryNameoutofPath(sURL,"/") & "/"
sURL = sURL & "Briefvorlage zur Neue Datenbank.ott"
REM Vorlage öffnen
Dim args(0) as new com.sun.star.beans.PropertyValue
args(0).Name = "AsTemplate"
args(0).Value = True
newDoc = StarDesktop.loadComponentFromURL(sURL,"_blank",0,args)
REM Textfelder holen
enumTextfields = newDoc.Textfields.createEnumeration
Do While enumTextfields.hasMoreElements
thisTextfield = enumTextfields.nextElement
If thisTextfield.supportsService("com.sun.star.text.TextField.JumpEdit") Then
sColumnname = thisTextfield.PlaceHolder
If oColumns.hasByName(sColumnname) Then
nIndex = oForm.findColumn(sColumnname)
thisTextfield.Anchor.String = oForm.getString(nIndex)
End If
End If
Loop
End Sub
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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Freischreiber,
Du wirst nicht drum herum kommen, als Datenquelle für Dein Formular, aus dem der Druck veranlasst wird, eine Abfrage zu konstruieren. In dieser Abfrage müssen die Felder entsprechend stehen, so dass der Serienbrief darauf zugreifen kann. Die Inhalte der Listenfelder brauchst Du aber nicht gleichzeitig im Formular anzuzeigen, da sie ja schon über Fremdschlüssel (Listenfelder) repräsentiert werden.
Da die Abfrage editierbar bleiben muss wäre das Ganze vermutlich über eine korrelative Unterabfrage für jedes Listenfeld zu bewerkstelligen. Sieh' Dir dazu einmal das entsprechende Kapitel des Handbuches an.
Prinzip:
Du weist der Haupttabelle einen Alias zu und kannst über diesen Alias auf aktuelle Werte einer Datenzeile mit der Unterabfrage zugreifen. So erscheint dann die Anrede ausgeschrieben in der Abfrage, wenn eben in der Grundtabelle sonst nicht der Text steht.
Gruß
Robert
Du wirst nicht drum herum kommen, als Datenquelle für Dein Formular, aus dem der Druck veranlasst wird, eine Abfrage zu konstruieren. In dieser Abfrage müssen die Felder entsprechend stehen, so dass der Serienbrief darauf zugreifen kann. Die Inhalte der Listenfelder brauchst Du aber nicht gleichzeitig im Formular anzuzeigen, da sie ja schon über Fremdschlüssel (Listenfelder) repräsentiert werden.
Da die Abfrage editierbar bleiben muss wäre das Ganze vermutlich über eine korrelative Unterabfrage für jedes Listenfeld zu bewerkstelligen. Sieh' Dir dazu einmal das entsprechende Kapitel des Handbuches an.
Prinzip:
Code: Alles auswählen
SELECT "a".*, (SELECT "Anrede" FROM "Tabelle2" WHERE "ID" = "a"."Anrede_ID") AS "Anrede_ausgeschrieben" FROM "Tabelle1" AS "a"
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
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: SQL Abfrage: Feld1 + Text + Feld2
Hallo Robert,
vielen Dank für deine Geduld. Ich verstehe auch den Verweis auf das Handbuch, es ist aber leider so, daß ich schon Probleme habe, deinen sehr konkreten Ausführungen zu folgen. Das Handbuch ist für mich nicht begreifbar, da für mein Verständnis viel zu abstrakt. Ich hätte schon Mühe, das "entsprechende Kapitel" im Handbuch zu finden
Zu deinem Vorschlag mit der Unterabfrage: Das Makro kann doch nur auf Textfelder zugreifen und nicht auf Abfragen, oder?
Und wenn doch auf Abfragen, wäre es nicht einfacher, eine komplette Abfrage für alle Inhalte zu machen, die in den Briefbogen sollen und darüber das Makro laufen zu lassen? Weil: wie ich eine Unterabfrage mit den Textfeldern zusammenbringe, weiß ich erst recht nicht.
Viele Grüße
Freischreiber
vielen Dank für deine Geduld. Ich verstehe auch den Verweis auf das Handbuch, es ist aber leider so, daß ich schon Probleme habe, deinen sehr konkreten Ausführungen zu folgen. Das Handbuch ist für mich nicht begreifbar, da für mein Verständnis viel zu abstrakt. Ich hätte schon Mühe, das "entsprechende Kapitel" im Handbuch zu finden

Zu deinem Vorschlag mit der Unterabfrage: Das Makro kann doch nur auf Textfelder zugreifen und nicht auf Abfragen, oder?
Und wenn doch auf Abfragen, wäre es nicht einfacher, eine komplette Abfrage für alle Inhalte zu machen, die in den Briefbogen sollen und darüber das Makro laufen zu lassen? Weil: wie ich eine Unterabfrage mit den Textfeldern zusammenbringe, weiß ich erst recht nicht.
Viele Grüße
Freischreiber
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
Lesenswert: https://wiki.documentfoundation.org/ReleasePlan/de
-
- * LO-Experte *
- Beiträge: 829
- Registriert: Fr 28. Mär 2014, 10:41
Re: SQL Abfrage: Feld1 + Text + Feld2
Ja, ich glaube so mache ich das: eine Abfrage, die schön ordentlich eine Adreßliste ausgibt mit Anrede-Name-Fax aller Kunden. Und ein Formular, das nur Textfelder für alle Abfragefelder enthält. Und das Makro, das nur diese Textfelder in den Brief schreibt.
Sorry, aber es muß für mich halt einfach sein, nicht nur so einfach, daß ich es jetzt hinkriege, sondern auch so, daß ich in zwei Jahren, wenn ich etwas ändern will, noch weiß, was ich damals gemacht habe.
Sorry, aber es muß für mich halt einfach sein, nicht nur so einfach, daß ich es jetzt hinkriege, sondern auch so, daß ich in zwei Jahren, wenn ich etwas ändern will, noch weiß, was ich damals gemacht habe.

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
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.