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

Bericht mit 2 Spalten erstellen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Bericht mit 2 Spalten erstellen

Beitrag von Frewer » Di 22. Feb 2022, 10:06

Hallo,
habe eine Datenbank mit Tabellen, Abfragen, Formularen, Makros und einem Berichtsentwurf erstellt. Der Bericht soll 4Spalten enthalten, die Daten aus einer meiner Tabellen aufnehmen sollen. Nun habe ich nach dem Vorschlagsbericht unter LO "Beispiel_Test_Spalten" eine SQL-Abfrage für meinen Bedarf erarbeitet. Das Ergebnis ist aber leider nicht zufriedenstellend. Da ich schon fast 1/2 Jahr an der Abfrage ohne Erfolg arbeite, habe ich meine Vorstellung, die erarbeitete SQL Abfrage und das Ergebnis der Abfrage angehängt.
Ich hoffe, dass mir jemand helfen kann. Als Basis habe ich das o.g. Beispiel benutzt.
mfG
Frewer
SQL-Bericht.odt
(19.1 KiB) 236-mal heruntergeladen

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

Re: Bericht mit 2 Spalten erstellen

Beitrag von F3K Total » Di 22. Feb 2022, 16:15

Moin,
keine Ahnung was du mit Vorschlagsbericht unter LO "Beispiel_Test_Spalten" meinst.
Am besten wäre es, wenn du deine DB, ggf verfremdet, hier hochlädst.

Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

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

Re: Bericht mit 2 Spalten erstellen

Beitrag von RobertG » Di 22. Feb 2022, 18:24

Ich nehme an, dass Du das Beispiel zum Handbuch meinst. Das einfache Beispiel läuft so, dass in einer Unterabfrage die Daten mit einer Zeilennummer versehen werden. Hiervon werden als eine "Tabelle" die Daten genommen, die ungerade Zeilennummern haben und in einer 2. Tabelle die Daten, die gerade Zeilennummern haben. Die beide Tabellen werden über die Zeilennummern miteinander verknüpft. Dadurch erhältst Du eine Zeile mit jeweils zwei Datengruppen nebeneinander und kannst daraus einen zweispaltigen Bericht machen.

Die Beispieldatenbank wäre hier wohl angebracht - ohne ist das nur schwer zu verstehen. Ich hätte zuerst einmal die "T1" in Verdacht, weil Du alles mit Left Joins nach dort hin bezogen hast. Was in "Abfrage1" steht ist ja unklar.

Ich würde T2 und T3 einmal raus nehmen und dann schauen, wie viele Zeilen zustande kommen und dann nach und nach die "Tabellen" einfügen. Gegebenenfalls einmal auch separat nachschauen, was denn T2 und T3 direkt ausgeben.

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

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Bericht mit 2 Spalten erstellen

Beitrag von Frewer » Mi 23. Feb 2022, 11:46

vielen Dank zunächst. Die Datenbank hier hochzuladen ist schwierig, sie ist in vielen Jahren stark gewachsen. Aber im Prinzip ist es ganz einfach, da die Tabelle unter vielen anderen Positionen die Spalte ID, Art, Wer, Kosten und dbok beinhaltet. Spalte "Wer" beinhaltet 2 Infos "A" oder "E". Im Bericht soll die lke Spalte die "Kosten" von "Wer"='A' beinhalten, die rte Spalte die Kosten von "Wer"='E' und zwar, wenn "dbok"=0 ist. Das Ergebnis der SQL-Abfrage habe ich exakt im Anhang dargestellt.

Übrigens Robert, wir hatten irgendwann im letzten Jahr schon einmal zum Thema Kontakt, ein Teil meiner SQL-Abfrage stammt aus jenem Kontakt (Papierschnipsel). Und ja es ist genau dieses Beispiel. Dann hatte ich allerdings mit einem PC-crash zu kämpfen und die ganzen Infos verloren (tant pis). Obwohl ich schon viele Makros in Basic für das uralte "ACCESS" von MS mit Erfolg geschrieben habe, habe ich einfach große Probleme, die Logik der SQL Befehlsfolge in LO zu verstehen (liegt wohl am Alter). Die beiden Summenbildungen sind ja noch einfach, der Rest mit den Left Join's aber nicht. Ich dachte, dass der Befehl "DISTINCT" dafür sorgt, dass keine gleichen Daten ausgegeben werden. Das ist aber offenbar nicht der Fall. Nun werde ich Deinem Vorgehensvorschlag mal detailliert folgen. Vielleicht kommt dann die Erleuchtung.
mfG
Frewer
Ps: Hatte vergessen, die Unklarheiten zu beseitigen: Abfrage1 ist eine Kopie der Basistabelle (habe ich bereits geändert). Ich werde die DB mal lesbar machen und hier einstellen.

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Bericht mit 2 Spalten erstellen

Beitrag von Frewer » Mi 23. Feb 2022, 15:56

Hallo,
habe nach langem Überlegen eine Änderung im SQL-Befehl gemacht und siehe da, die Abfrage ist jetzt exakt wie ich es wünsche. Bisher stand im SQL Befehl nach der Summenbildung: FROM (SELECT CASE WHEN (SELECT DISTINCT COUNT("ID")... weil ich mit dem DISTINCT doppelte Angaben ausschließen wollte. Das funktioniert aber nur, wenn ich (SELECT DISTINCT CASE WHEN (SELECT COUNT("ID")... schreibe. Jetzt ist die Abfrage ok.
Der Bericht aber zeigt nach wie vor nur die beiden Summen an, die Felder werden ohne Beschriftung angezeigt und zwar alle. Das scheint nicht mit dem SQL zusammenzuhängen. Finde jedoch unter "Bericht bearbeiten" keinen "Knopf zum Einstellen". Der Bericht beinhaltet in den Eigenschaften die SQL-Abfrage, die Felder wurden aus dieser Abfrage auch ausgewählt und stehen im Berichtsentwurf als "=ArtA", "=KostenA"...trotzdem werden die Inhale im Bericht nicht dargestellt. Mehr Auswahl gibt es dabei nicht.
Gibt es dazu ein Hilfe?
Gruß
Werner

P.s. würde gerne den Bericht anhängen, geht aber nicht (warum?)

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

Re: Bericht mit 2 Spalten erstellen

Beitrag von RobertG » Mi 23. Feb 2022, 17:29

Anhänge hier sind als *.odb nicht erlaubt, weil der Betreiber wohl das Format der Datenbanken in LibreOffice nicht kennt. Deswegen einfach als *.zip-Datei packen und anhängen.

Wenn eine Abfrage das korrekte Ergebnis erstellt, dann mach daraus anschließend eine Ansicht. Eine Ansicht ist für den ReportBuilder genau so einfach zu handhaben wie eine Tabelle. Bei einer Abfrage versucht das Ding den SQL-Code zu interpretieren, da ja so etwas wie Sortierung und Gruppierung durch den ReportBuilder gemacht werden soll. Das ist bei etwas umfangreicheren Abfragen meist ein Problem.
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

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Bericht mit 2 Spalten erstellen

Beitrag von Frewer » Mi 23. Feb 2022, 19:40

Habe die Anzeige erstellt, den Bericht geändert. Ergebnis: zunächst keine Daten im Bericht. Durch reinen Zufall habe ich im Berichtsentwurf eine meiner Zellen geöffnet und erneut unter Daten den Wert in der Anzeige angegeben und siehe da, die Werte dieser zellen wurden gezeigt. Also alle meine Zellen erneut angewählt und bestätigt (click auf den Wert in der Anzeige) und siehe da, der Bericht funktioniert.
Mich wundert das zwar aber egal. Beim Bearbeiten des Berichtes stürzt auch LO immer wieder ab, warum??? Hab halt kein LINUX, das ja besser sein soll.
Jetzt muss der Bericht noch etwas überarbeitet werden, zB wird die Zeile0 der Anzeige (hier sind nur die beiden Summen drin) als leere Zeile dargestellt.
Also nochmal herzlichen Dank für die Hilfe und bis zum nächsten "no go"
Gruß
Werner

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

Re: Bericht mit 2 Spalten erstellen

Beitrag von RobertG » Mi 23. Feb 2022, 21:40

Hallo Werner,

das Berichtsmodul ist recht instabil, wenn es um die Erstellung von Berichten geht. Wenn Du Berichte ausführen willst bekommst Du davon aber nichts mehr mit.

Das liegt wohl einfach auch daran, dass an dem Teil seit alten OpenOffice-Zeiten nichts mehr gemacht wurde. Nur einige Funktionen, die ähnlichen den Funktionen in Calc sind, wurden in Englisch hinzugefügt. Dann noch die Möglichkeit, Textfelder in der Größe anwachsen zu lassen, wenn mehr Text da ist.

An den ReportBuilder geht wohl auch deshalb niemand so richtig ran, weil das eine Gemengelage aus JAVA und C++ ist. Ich habe da einmal versucht, ein bisschen den Code zu verstehen, es aber erst einmal aufgegeben. Wenn ich Lösungen für ganz spezifische Zwecke suche, die auch weiterhin Bestand haben sollen, dann umgehe ich den ReportBuilder immer öfter und konstruiere etwas mit Vorlagendateien aus dem Writer heraus.

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

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Bericht mit 2 Spalten erstellen

Beitrag von Frewer » Do 24. Feb 2022, 10:21

Hallo Robert,
nun ja, da meine Problemchen ja die Welt nicht verändern, mache ich jetzt halt mal so ein bisschen mit dem neu Gelernten herum. Muss halt öfter mit dem Taskmanager das LO schließen und dann wieder neu öffnen.
Dein Vorschlag sind Vorlagedateien mit dem WRITER. Nun habe ich ja festgestellt, dass das Ergebnis meines Berichts auch eine WRITER Datei, die aber auch nicht leicht zu bearbeiten ist. Wie geht denn das mit dem Datentransfer von BASE zum WRITER, noch besser wäre CALC, weil das ja bereits ein Tabellenprogramm ist.
Werde jetzt mal weiterwurschteln (pfälzisch für weitermachen) und sehen, ob ich das Ganze so hinkriege, wie ich vorhabe.

Nochmal vielen Dank für Deine Hilfe und die Tips
Werner

Frewer
Beiträge: 29
Registriert: Mo 1. Feb 2021, 19:23

Re: Bericht mit 2 Spalten erstellen

Beitrag von Frewer » Do 3. Mär 2022, 17:54

Hallo,
im Zusammenhang mit meinen Programmierversuchen ist ein neues Problem aufgetreten. Ich habe 2 Tabelle zu einer Ansicht1 mit einander verbunden. Keine Probleme. Jetzt versuche ich 3 Tabellen miteinander zu einer Ansicht1 zu verbinden und bekomme auch das gewünschte Ergebnis, kann aber die Ansicht1 nicht abspeichern.
LO meldet den Fehler "Table is referenced by view: AnsichtXY in statement[DROP VIEW "Ansicht1"]".
Tatsächlich habe ich eine AnsichtXY, die auf Ansicht1 basiert aber die neu hinzugekommenen Felder nicht nutzt. Was bedeutet die Fehlermeldung? Normal verstehe ich zwar Englisch, die LO Texte allerdings meist nicht.
Was mache ich falsch?
Gruß Frewer


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