❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
(gelöst) Rechnungsnummerntabelle
-
- * LO-Experte *
- Beiträge: 837
- Registriert: Fr 28. Mär 2014, 10:41
Re: Rechnungsnummerntabelle
Hallo Robert,
wo muß ich das überall an meine Verhältnisse anpassen?
Mit "Zielformular" ist der Name des Unterformulars "Rechnungsnummern" gemeint?
Muß ich irgendwo den Namen des Hauptformulars angeben, oder wird das automatisch erkannt?
Muß ich bei der Abfrage die Spaltennamen aus meinem Unterformular verwenden oder die aus der Rechnungsnummerntabelle?
Gruß
Freischreiber
wo muß ich das überall an meine Verhältnisse anpassen?
Mit "Zielformular" ist der Name des Unterformulars "Rechnungsnummern" gemeint?
Muß ich irgendwo den Namen des Hauptformulars angeben, oder wird das automatisch erkannt?
Muß ich bei der Abfrage die Spaltennamen aus meinem Unterformular verwenden oder die aus der Rechnungsnummerntabelle?
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: Rechnungsnummerntabelle
Hallo Freischreiber,
Gruß
Robert
Korrekt. Wenn das eben anders heißt, dann anpassen. Bei Dir also so etwas wieFreischreiber hat geschrieben: Mit "Zielformular" ist der Name des Unterformulars "Rechnungsnummern" gemeint?
Code: Alles auswählen
oFormZiel = thisComponent.Drawpage.Forms.getByName("Hauptformular").getByName("Rechnungsnummernformular")
Siehe oben - nur das Zielformular ist wichtig. Das Hauptformular ist notwendig, um den Weg zum Zielformular zu finden.Freischreiber hat geschrieben: Muß ich irgendwo den Namen des Hauptformulars angeben, oder wird das automatisch erkannt?
Weder das eine noch das andere. Es werden die Indizes ausgelesen. Das bedeutet: Bei der Abfrage im Makro werden die Felder aus der Abfrage über Nummer angesprochen. Beim Zielformular werden ebenfalls die Felder der zugrundeleigenden Tabelle (oder Abfrage) der Nummer nach angesprochen. Die Namen spielen keine Rolle. Auich die Felder, die tatsächlich im Formular zu sehen sind, spielen keine Rolle.Freischreiber hat geschrieben: Muß ich bei der Abfrage die Spaltennamen aus meinem Unterformular verwenden oder die aus der Rechnungsnummerntabelle?
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: 837
- Registriert: Fr 28. Mär 2014, 10:41
Re: Rechnungsnummerntabelle
Hallo Robert,
"über Nummer angesprochen" heißt, es kommt bei der Abfrage auf die Reihenfolge der Felder an, wie sie in der Tabelle stehen?
Im Moment bekomme ich
"BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: user lacks privilege or object not found: Default."
in der Zeile
Die Spalten im Tabellenkontrollfeld sind im Moment:
1. Rechnungsnummer (zu diesem Auftrag, verknüpft über Unterformular-Verknüpfung)
2. Datum
3. Betrag
4. Offen?
5. Fortlaufende Nummer
6. Zufallszahl (aus 5. und 6. wurden früher in Excel die Rechnungsnummern zusammengesetzt).
Vermutlich muß diese Spaltenreihenfolge auch in die Makro-Abfrage, oder?
Gruß
Freischreiber
"über Nummer angesprochen" heißt, es kommt bei der Abfrage auf die Reihenfolge der Felder an, wie sie in der Tabelle stehen?
Im Moment bekomme ich
"BASIC-Laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.SQLException
Message: user lacks privilege or object not found: Default."
in der Zeile
Code: Alles auswählen
oAbfrageergebnis = oSQL_Anweisung.executeQuery(stSql)
1. Rechnungsnummer (zu diesem Auftrag, verknüpft über Unterformular-Verknüpfung)
2. Datum
3. Betrag
4. Offen?
5. Fortlaufende Nummer
6. Zufallszahl (aus 5. und 6. wurden früher in Excel die Rechnungsnummern zusammengesetzt).
Vermutlich muß diese Spaltenreihenfolge auch in die Makro-Abfrage, oder?
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: Rechnungsnummerntabelle
Hallo Freischreiber,
die Meldung ist für mich nicht verwunderlich.
Hier der SQL-Code aus der Datei, die ich genutzt habe:
Die Tabelle, die dort befragt wird, ist die Tabelle "Default".
Wenn Du die Meldung
Bei dem obigen SQL-Code ist die Reihenfolge doch vermutlich klar.
1) "AutoID" → oAbfrageergebnis.getString(1)
2) "Datum aktuell" → oAbfrageergebnis.getString(2)
3) "Zufallszahl" → oAbfrageergebnis.getString(3)
Beim aufnehmenden Formular hast Du irgendeine Tabelle im Hintergrund als Datenquelle angegeben. Schau Dir die Reihenfolge der Felder in dieser Tabelle an. Die kann natürlich völlig anders sein, so dass die Nummer für
oFormZiel.updateString(1, ...)
auch genauso gut
oFormZiel.updateString(37, ...)
sein kann.
Gruß
Robert
die Meldung ist für mich nicht verwunderlich.
Hier der SQL-Code aus der Datei, die ich genutzt habe:
Code: Alles auswählen
stSql = "SELECT ""AutoID"" + 1, CURRENT_DATE, ROUND( RAND( ) * 10000, 0 ) FROM ""Default"" ORDER BY ""AutoID"" DESC LIMIT 1"
Wenn Du die Meldung
erhältst, dann bezieht sich die Meldung direkt auf diese Tabelle. Vielleicht heißt diese Tabelle "Rechnungen" oder "Rechnungsnummer", auf keinen Fall aber wohl "Default".Message: user lacks privilege or object not found: Default."
Bei dem obigen SQL-Code ist die Reihenfolge doch vermutlich klar.
1) "AutoID" → oAbfrageergebnis.getString(1)
2) "Datum aktuell" → oAbfrageergebnis.getString(2)
3) "Zufallszahl" → oAbfrageergebnis.getString(3)
Beim aufnehmenden Formular hast Du irgendeine Tabelle im Hintergrund als Datenquelle angegeben. Schau Dir die Reihenfolge der Felder in dieser Tabelle an. Die kann natürlich völlig anders sein, so dass die Nummer für
oFormZiel.updateString(1, ...)
auch genauso gut
oFormZiel.updateString(37, ...)
sein kann.
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: 837
- Registriert: Fr 28. Mär 2014, 10:41
Re: Rechnungsnummerntabelle
Hallo Robert,
ah okay: Gelesen wird aus der Datentabelle, geschrieben ins Tabellenkontrollfeld des Unterformulars!
Aber genau diese Zeile verstehe ich immer noch nicht (und kann sie daher auch nicht erweitern):
Der Autowert wird ausgefüllt, aber die Datums- und Zufallspalte bleiben bisher leer im Tabellenkontrollfeld...
Mit
will ich eigentlich die Spalten 5, 2 und 6 der Formulartabelle füllen, klappt aber nur mit Spalte 5 und der AutoID.
Zusätzlich würde ich gerne in Spalte 1 die neue Rechnungsnummer zusammensetzen aus Auftragsnummer, von der ich nicht weiß, woher ich die nehme (aus dem Textfeld des Hauptformulars, das gerade offen ist?) und der fortlaufenden Nummer und der Zufallszahl, à la "Auftragsnummer"-"FortlaufendeNr"-"Zufallszahl".
Geht das so irgendwie?
Gruß
Freischreiber
ah okay: Gelesen wird aus der Datentabelle, geschrieben ins Tabellenkontrollfeld des Unterformulars!
Aber genau diese Zeile verstehe ich immer noch nicht (und kann sie daher auch nicht erweitern):
Oben ist stSql als Stringvariable deklariert, und hier wird sie mit einer Abfrage gefüllt, also einer einzeiligen Tabelle mit drei Spalten (höchster Autowert+1, aktuelles Datum, Zufallszahl)?stSql = "SELECT ""AutoID"" + 1, CURRENT_DATE, ROUND( RAND( ) * 10000, 0 ) FROM ""Default"" ORDER BY ""AutoID"" DESC LIMIT 1"
Der Autowert wird ausgefüllt, aber die Datums- und Zufallspalte bleiben bisher leer im Tabellenkontrollfeld...
Mit
Code: Alles auswählen
WHILE oAbfrageergebnis.NEXT
'Neuen Datensatz des Tabellenkontrollfelds im Formular mit den Strings der Abfrage füllen. Erste Ziffer ist Stelle im Formular:
oFormZiel.updateString(5, oAbfrageergebnis.getString(1))
oFormZiel.updateString(2, oAbfrageergebnis.getString(2))
oFormZiel.updateString(6, oAbfrageergebnis.getString(3))
WEND
Zusätzlich würde ich gerne in Spalte 1 die neue Rechnungsnummer zusammensetzen aus Auftragsnummer, von der ich nicht weiß, woher ich die nehme (aus dem Textfeld des Hauptformulars, das gerade offen ist?) und der fortlaufenden Nummer und der Zufallszahl, à la "Auftragsnummer"-"FortlaufendeNr"-"Zufallszahl".
Geht das so irgendwie?
Code: Alles auswählen
oFormZiel.updateString(1, [Auftragsnr]+"-"+oAbfrageergebnis.getString(1)+"-"+oAbfrageergebnis.getString(3))
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: Rechnungsnummerntabelle
Hallo Freischreiber,
wenn Du wissen willst, was Deine Abfrage an Ergebnissen liefert, dann mach doch einfach folgendes:
Wenn Du Teile des Codes anderweitig koppeln oder zusätzlich verwenden willst:
Dann kannst Du eine Variable nach herzenslust öfter verwenden, ohne Probleme zu bekommen.
Rechts steht der SQL-Code für die Abfrage. Den brauchst Du nicht unbedingt einer String-Variablen zuzuweisen. Du kannst auch schreiben:
Die Abfrage wird ausgeführt und der Inhalt der Felder übergeben. Brauchst Du weitere Felder, so musst Du die in die Abfrage einbauen. Hat die Zufallszahl zu viele Stellen, dann musst Du das regulieren.
Wenn bei Dir bisher der Autowert ausgefüllt wird, dann hast Du hier die entsprechende Spalte der dem Formular zugrundeliegenden Tabelle/Abfrage getroffen. Wenn das Datum nicht geschrieben wird, dann ist dies nicht der Fall. Schau nicht auf das Tabellenkontrollfeld. Da kann die Reihenfolge ganz anders sein. Entscheidend ist die Datenquelle zu dem entsprechenden Formular.
Gruß
Robert
wenn Du wissen willst, was Deine Abfrage an Ergebnissen liefert, dann mach doch einfach folgendes:
Code: Alles auswählen
WHILE oAbfrageergebnis.NEXT
msgbox oAbfrageergebnis.getString(1)
msgbox oAbfrageergebnis.getString(2)
msgbox oAbfrageergebnis.getString(3)
WEND
Code: Alles auswählen
WHILE oAbfrageergebnis.NEXT
stVar1 = oAbfrageergebnis.getString(1)
stVar2 = oAbfrageergebnis.getString(2)
stVar3 = oAbfrageergebnis.getString(3)
WEND
Code: Alles auswählen
stSql = "SELECT ""AutoID"" + 1, CURRENT_DATE, ROUND( RAND( ) * 10000, 0 ) FROM ""Default"" ORDER BY ""AutoID"" DESC LIMIT 1"
Code: Alles auswählen
oAbfrageergebnis = oSQL_Anweisung.executeQuery("SELECT ""AutoID"" + 1, CURRENT_DATE, ROUND( RAND( ) * 10000, 0 ) FROM ""Default"" ORDER BY ""AutoID"" DESC LIMIT 1")
Wenn bei Dir bisher der Autowert ausgefüllt wird, dann hast Du hier die entsprechende Spalte der dem Formular zugrundeliegenden Tabelle/Abfrage getroffen. Wenn das Datum nicht geschrieben wird, dann ist dies nicht der Fall. Schau nicht auf das Tabellenkontrollfeld. Da kann die Reihenfolge ganz anders sein. Entscheidend ist die Datenquelle zu dem entsprechenden Formular.
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: 837
- Registriert: Fr 28. Mär 2014, 10:41
Re: Rechnungsnummerntabelle
Hallo Robert,
danke für den Tip mit der Messagebox, das macht es transparenter...
die Mechanik ist also: Lesen aus Datentabelle, Schreiben in Datentabelle, nicht Schreiben in Unterformular... aber wozu muß man dann den Namen des Unterformulars überhaupt angeben?
Es läuft soweit, Autowert und Zufallszahl werden ausgefüllt (Datum hab ich rausgenommen, weil in meiner Tabelle ein Autowert).
Die Zufallszahl landet mit "round(RAND( ) *100)-1" schön zweistellig in der Tabelle, aber in der Variable zur Mehrfachverwendung landet zB die Zahl 43 als 43.0E0. Nochmal runden kann ich nicht, weil String... was kann man da machen?
Sieht bisher so aus:
Und dann hab ich noch ein Problem: Woher die Auftragsnummer nehmen? Es ist ein Textfeld in MainForm, aber mit
sagt er: Spaltenname ungültig.
Vermutlich ist hier findcolumn falsch, weil es keine Tabelle ist, sondern nur ein einzelnes Textfeld?
(stAuftragID = oformAuftrag.getString(oformAuftrag.getByName("txtAuftrag")) hab ich auch probiert, da sagt er: Falscher Wert für Eigenschaft.)
Gruß
Freischreiber
danke für den Tip mit der Messagebox, das macht es transparenter...
die Mechanik ist also: Lesen aus Datentabelle, Schreiben in Datentabelle, nicht Schreiben in Unterformular... aber wozu muß man dann den Namen des Unterformulars überhaupt angeben?
Es läuft soweit, Autowert und Zufallszahl werden ausgefüllt (Datum hab ich rausgenommen, weil in meiner Tabelle ein Autowert).
Die Zufallszahl landet mit "round(RAND( ) *100)-1" schön zweistellig in der Tabelle, aber in der Variable zur Mehrfachverwendung landet zB die Zahl 43 als 43.0E0. Nochmal runden kann ich nicht, weil String... was kann man da machen?
Sieht bisher so aus:
Code: Alles auswählen
stZufall = oAbfrageergebnis.getString(2) 'Zur Mehrfachverwendung der Zufallszahl
Code: Alles auswählen
oformAuftrag = thisComponent.Drawpage.Forms.getByName("MainForm")
stAuftragID = oformAuftrag.getString(oformAuftrag.findcolumn("txtAuftrag"))
Vermutlich ist hier findcolumn falsch, weil es keine Tabelle ist, sondern nur ein einzelnes Textfeld?
(stAuftragID = oformAuftrag.getString(oformAuftrag.getByName("txtAuftrag")) hab ich auch probiert, da sagt er: Falscher Wert für Eigenschaft.)
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: Rechnungsnummerntabelle
Hallo Freischreiber,
Gruß
Robert
Versuche es mit den entsprechenden Parametern für ROUND: ROUND(Wert,Nachkommastellen) wird dann zu ROUND(RAND()*100,0).Freischreiber hat geschrieben: "round(RAND( ) *100)-1" schön zweistellig in der Tabelle, aber in der Variable zur Mehrfachverwendung landet zB die Zahl 43 als 43.0E0.
Existiert denn in der dem Formular zugrunde liegenden Datenquelle das Feld "txtAuftrag"? Die Bezeichnung scheint mir eher die für ein Formularfeld zu sein, nicht die für ein Tabellenfeld oder ein Feld der Abfrage. Mit findColumn ermittelst Du ein Feld aus der Datenquelle, nicht das Formularfeld, das einen bestimmten Wert enthält.Freischreiber hat geschrieben:Woher die Auftragsnummer nehmen? Es ist ein Textfeld in MainForm, aber mitsagt er: Spaltenname ungültig.Code: Alles auswählen
oformAuftrag = thisComponent.Drawpage.Forms.getByName("MainForm") stAuftragID = oformAuftrag.getString(oformAuftrag.findcolumn("txtAuftrag"))
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: 837
- Registriert: Fr 28. Mär 2014, 10:41
Re: Rechnungsnummerntabelle
Hallo Robert,
die Rundung findet, so wie du es entworfen hast, in der Abfrage statt:
Dann kommt die "gerundete" Zufallszahl in eine Variable:
Aber sie ist nicht "richtig" gerundet, sondern mit...0E0, die Messagebox und die zusammengesetzte Rechnungsnummer hat das 0E0 mit dabei. Nur in der Einzelspalte "Zufallszahl" der Formulartabelle wird das abgeschnitten, das ist aber dort die Feldformatierung null Nachkommastellen.
Und ja, es ist ein einfaches Textfeld im Hauptformular MainForm, in dem die gerade ausgewählte Auftragsnummer steht. Diese Nummer will ich nur aus dem Formulartextfeld auslesen, damit ich die Rechnungsnummer zusammensetzen kann.
Das scheint ein sehr triviales Problem zu sein. In deinem Makro-Handbuch finde ich dazu den Abschnitt mit dem Textfield-Makro, das macht sowas, aber ich kriegs nicht hierher übertragen. Dort sind es ja auch Textfelder, und dort geht es
Oder andersrum gefragt:
Gruß
Freischreiber
die Rundung findet, so wie du es entworfen hast, in der Abfrage statt:
Code: Alles auswählen
stSql = "SELECT ""FortlaufendeNr"" + 1, ROUND(RAND( ) *100,0)-1 FROM ""t-rechnungsnummern"" ORDER BY ""FortlaufendeNr"" DESC LIMIT 1"
Code: Alles auswählen
stZufall = oAbfrageergebnis.getString(2) 'Zur Mehrfachverwendung der Zufallszahl
Und ja, es ist ein einfaches Textfeld im Hauptformular MainForm, in dem die gerade ausgewählte Auftragsnummer steht. Diese Nummer will ich nur aus dem Formulartextfeld auslesen, damit ich die Rechnungsnummer zusammensetzen kann.
Das scheint ein sehr triviales Problem zu sein. In deinem Makro-Handbuch finde ich dazu den Abschnitt mit dem Textfield-Makro, das macht sowas, aber ich kriegs nicht hierher übertragen. Dort sind es ja auch Textfelder, und dort geht es

Oder andersrum gefragt:
Womit ermittle ich einen bestimmten Wert aus einem Formularfeld?Mit findColumn ermittelst Du ein Feld aus der Datenquelle, nicht das Formularfeld, das einen bestimmten Wert enthält.
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: Rechnungsnummerntabelle
Hallo Freischreiber,
ich habe das jetzt einmal durchprobiert. Basic liest tatsächlich eine Zahl mit einer Nachkommastelle aus. Da hilft dann, statt getString() die Variable mit getInt() abzufragen.
Das ist dann auf jeden Fall eine Ganzzahl ohne Nachkommastellen.
Das Hauptformular enthält ein Feld. Auf dieses Feld kannst Du zugreifen mit
Den Inhalt des Feldes, den Du gerade siehst, erhältst Du entweder über
oFeld.Text
oder über
oFeld.getCurrentValue()
Ist der Inhalt auch in der zugrundeliegenden Datenquelle gespeichert, so kannst Du auch auf die Datenquelle zugreifen und daraus lesen. Dann gibst Du bei findColumn() den Namen des Feldes aus der Datenquelle zu Deinem Hauptformular an.
Gruß
Robert
ich habe das jetzt einmal durchprobiert. Basic liest tatsächlich eine Zahl mit einer Nachkommastelle aus. Da hilft dann, statt getString() die Variable mit getInt() abzufragen.
Code: Alles auswählen
stZufall = oAbfrageergebnis.getInt(2)
Das Hauptformular enthält ein Feld. Auf dieses Feld kannst Du zugreifen mit
Code: Alles auswählen
oFeld = thisComponent.Drawpage.Forms.getByName("Hauptformular").getByName("Feld_im_Hauptformular")
oFeld.Text
oder über
oFeld.getCurrentValue()
Ist der Inhalt auch in der zugrundeliegenden Datenquelle gespeichert, so kannst Du auch auf die Datenquelle zugreifen und daraus lesen. Dann gibst Du bei findColumn() den Namen des Feldes aus der Datenquelle zu Deinem Hauptformular an.
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
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.