❤️ 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. 🌱


❤️ 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. 🤗

Lbre Base Report benutzerdefinierte Funktion

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
jh56
Beiträge: 23
Registriert: Fr 16. Mär 2018, 11:17

Lbre Base Report benutzerdefinierte Funktion

Beitrag von jh56 » Fr 16. Mär 2018, 12:13

In den Feldeigenschaften/Daten besteht die Möglichkeit benutzerdefinierte Funktionen zu hinterlegen. Wie geht dies und lassen sich auch Makros ansprechen.
Ich möchte zur Laufzeit einen Adressblock auf aus den Adressfeldern der Datenquelle anlegen. Dazu könnte ich ein Makro schreiben, ich sehe jedoch nicht, wie ich ihn an das Listenfeld zuordne.
Meine Idee, ich platziere diese Feld in die Kopfzeile der Gruppe
Kann mir da jemand helfen?

Danke für mögliche Antworten
Jürgen

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

Re: Lbre Base Report benutzerdefinierte Funktion

Beitrag von F3K Total » Fr 16. Mär 2018, 14:58

Moin,
ich denke du bist auf dem Holzweg. Schau mal ins Base Handbuch, Kapitel Berichte, da findest du etwas über Benutzerdefinierte Funktionen. Kein Makro.
Ich würde die Datenauswahl per Abfrage oder Ansicht in der Datenbank machen, und die dann gefilterten Daten in den Bericht schicken.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

jh56
Beiträge: 23
Registriert: Fr 16. Mär 2018, 11:17

Re: Lbre Base Report benutzerdefinierte Funktion

Beitrag von jh56 » Fr 16. Mär 2018, 19:20

Der Holzweg ist da baer nicht so nett:
In der Datenbank habe ich ja gerade die Adressdaten in separate Felder (Name Vorname ...) gespeichert um vernünftig suchen zu können. Innerhalb eines Reports müsste ich eigentlich die Möglichkeit haben, die Felder nach meinen Wünschen beliebig verbinden zu können (mal als Adressblock) und mal anders.
Könnte sich das Entwicklerteam eventuell mit einer solchen Idee anfreunden?

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

Re: Lbre Base Report benutzerdefinierte Funktion

Beitrag von F3K Total » Fr 16. Mär 2018, 19:37

jh56 hat geschrieben:
Fr 16. Mär 2018, 19:20
Könnte sich das Entwicklerteam eventuell mit einer solchen Idee anfreunden?
Da bist du hier leider falsch, dies ist ein Anwenderforum, in dem Anwender anderen in ihrer Freizeit helfen. Mit Wünschen an die Software musst du dich an Libre Office Bugzilla wenden.
... die Felder nach meinen Wünschen beliebig verbinden zu können (mal als Adressblock) und mal anders ...
Auch das Verbinden von Texten würde ich in der Datenbank machen. Für jedes Layout braucht man dann entweder einen eigenen Bericht, oder man baut den einen per Makro, wenn man es programmieren kann, um, geht, ist aber sehr aufwändig. Würde ich nicht machen.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

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

Re: Lbre Base Report benutzerdefinierte Funktion

Beitrag von RobertG » Fr 16. Mär 2018, 22:48

Hallo jh56,

an dem Report-Builder arbeitet vom Prinzip her kein Entwickler. Da müsste schon jemand richtig gut bezahlt werden, damit er das Ding einmal richtig durchleuchtet und eventuell erst einmal nur die Bugs beseitigt.

Der Weg, um Adressfelder hin zu bekommen, ist der über vernünftige Abfragen, die zudem noch besser als Ansichten erstellt werden, damit der Report-Bilder nicht über irgendetwas stolpert. Was soll daran so schwierig sein, wenn Du auf der anderen Seite über "benutzerdefinierte Funktionen" im Report-Builder nachdenkst?

Nutze die Möglichkeiten der vorhergehenden Abfrage so weit wie möglich aus. Mach' daraus eine Ansicht, indem Du die Filterung über eine Filtertabelle vornimmst. Erstelle anschließend den Bericht mit dem Report-Builder.

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

jh56
Beiträge: 23
Registriert: Fr 16. Mär 2018, 11:17

Re: Lbre Base Report benutzerdefinierte Funktion

Beitrag von jh56 » Sa 17. Mär 2018, 08:38

ich glaube eigentlich, dass ich Datenbanken mit Aufbau und abfragen begriffen habe (30 JAhre beruflich mit Datenbanken; 15 Jahre SAP und 7 Jahre Axapta incl. DB-Design und Berichtsdesign).

Die Abfrage ist richtig. Ich hole mir alle Adressfelder. Da ich sie in der Positionszeile nicht per Routine ins Adressformat basteln kann wäre ich ja auch bereit, sie in einer Gruppenzeile als Zeile zusammen zu bauen. Hierfür müssten aber dann wenigstens Stringfunktionen wie Concatenate oder, wie im Makro Str1 + Str2 + Str3 möglich sein. Das finde ich aber nicht.


'muss dann Wohl eine neue Tabelle bauen, die ich per Programm in Abhängigkeit der Stammdatenänderung abändere. Das widerspricht eigentlich dem Datenbankkonzept (mehre Tabelle mit den gleichen Daten.

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

Re: Lbre Base Report benutzerdefinierte Funktion

Beitrag von F3K Total » Sa 17. Mär 2018, 08:57

Moin,
es gibt im SQL der HSQLDB durchaus CONCAT, am einfachsten durch zwei Pipe-Zeichen, ein Beispiel:

Code: Alles auswählen

SELECT "Nachname" || IFNULL(', ' || "Vorname" , '') AS "Name" FROM  "Tabelle_Adressen"
Mit IFNULL kommt kein Komma, wenn der Vorname fehlt.
Concat.PNG
Concat.PNG (9.74 KiB) 3525 mal betrachtet
Solltest du nicht wissen, wie man in die SQL-Ansicht kommt?
Zwei Möglichkeiten, entweder
  • Abfrage in der Entwurfsansicht erstellen ... und dann den blau markierten Button in folgendem Bild drücken
    EA_AU.png
    EA_AU.png (38.82 KiB) 3525 mal betrachtet
  • oder direkt Abfrage in SQL-Ansicht erstellen ...

Es gibt hunderte weitere SQL-Befehle, die du in der SQL-Ansicht verwenden kannst:
Den HSQL-USER-Guide findest du innerhalb der .zip Datei die du hier mit Version hsqldb_1_8_0 herunterladen kannst. Der USER-Guide befindet sich dann innerhalb der .zip unter dieser Adresse: \hsqldb\doc\guide\ sowohl als .pdf, als auch als HTML-Version oder auch online direkt unter http://www.hsqldb.org/doc/1.8/guide/
Und falls du die .odb Datei in Front-und Backend teilst, kannst du auf HSQL 2.xx upgraden, da gibt es dann auch GROUP_CONCAT.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

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

Re: Lbre Base Report benutzerdefinierte Funktion

Beitrag von RobertG » Sa 17. Mär 2018, 09:26

... und hier die Passage aus dem Handbuch, Kapitel "Berichte", für das Adressfeld - incl. Zeilenumbrüchen:

Code: Alles auswählen

SELECT "Anrede"||CHAR(13)||CHAR(10)||"Vorname"||' '||"Nachname"||CHAR(13)||CHAR(10)
||"Strasse"||'  '||"Nr"||CHAR(13)||CHAR(10)||"Postleitzahl"||' '||"Ort" AS "Adresse" FROM "Leser"
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


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