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

Report Designer: Sortierung und Linien

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
MartinS
Beiträge: 41
Registriert: So 27. Jan 2013, 21:58

Report Designer: Sortierung und Linien

Beitrag von MartinS » Do 23. Mai 2013, 09:56

hiho,

2 Fragen zum Report Designer:

1. Linien:
Es gibt da ja Linien, leider werden die nicht mit ausgegeben, hab ich da nur irgendwelche Einstellungen übersehen?

2. Sortierung:
Ich hab ne Abfrage die mir zu einer gegebenen Rechnungnummer alle Artikel raussucht inkl. zugehöriger Kundenbestllnummer undLieferscheinnummer. Einige Artikel haben allerdings keine Lieferscheinnummer.

Ich möchte nun ein Rechnungsformular bauen in dem am Anfang die vorkommenden Lieferscheine aufgelistet sind und danach Die Artikel nach Kundenbestellnummer sortiert aufgelistet werden.

Funzt bis jetzt auch soweit nur n den am nfang aufgelisteten Lieferscheinnummern scheitere ich grade...:(

irgendwelche Hinweise?

mfG

MartinS

achja, Libreoffice 4.irgendwas (aktuelle wohl)

achja2, ist das normal das der designer so oft abschmiert?

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

Re: Report Designer: Sortierung und Linien

Beitrag von RobertG » Do 23. Mai 2013, 16:23

Hallo Martin
MartinS hat geschrieben:1. Linien:
Es gibt da ja Linien, leider werden die nicht mit ausgegeben, hab ich da nur irgendwelche Einstellungen übersehen?
Ich zitiere hier einmal das Handbuch:

Code: Alles auswählen

Grundsätzlich gibt es in LO auch die Möglichkeit, horizontale und vertikale Linien hinzu zu fügen. Im Design-Modus werden diese auch angezeigt. Beim Ausführen des Berichtes erscheinen sie zur Zeit aber nicht.
Diese Linien haben außerdem den Nachteil, dass sie nur als Haarlinien ausgelegt sind. Sie lassen sich besser nachbilden, indem Rechtecke benutzt werden. Der Hintergrund der Rechtecke wird auf die Farbe Schwarz eingestellt, die Größe wird z.B. mit einer Breite von 17 cm und einer Höhe von 0,03 cm festgelegt. Dann erscheint eine horizontale Linie mit einer Dicke von 0,03 cm mit einer Länge von 17 cm.
MartinS hat geschrieben: 2. Sortierung:
Ich hab ne Abfrage die mir zu einer gegebenen Rechnungnummer alle Artikel raussucht inkl. zugehöriger Kundenbestllnummer undLieferscheinnummer. Einige Artikel haben allerdings keine Lieferscheinnummer.
Ich möchte nun ein Rechnungsformular bauen in dem am Anfang die vorkommenden Lieferscheine aufgelistet sind und danach Die Artikel nach Kundenbestellnummer sortiert aufgelistet werden.
Funzt bis jetzt auch soweit nur n den am nfang aufgelisteten Lieferscheinnummern scheitere ich grade...:(
Da musst Du schon konkreter werden. Mal erwähnst Du eine Abfrage, dann ein Formular ... Grundsätzlich kann der Report-Builder nur die Daten eines Datensatzes darstellen. Den musst Du also mit einer Abfrage entsprechend zusammenstellen. Fehlt bei einigen Datensätzen z.B. so etwas wie die Lieferscheinnummer, so werden diese entsprechenden Datensätze gleich sortiert, wenn Du nach der Lieferscheinnummer sortierst. Mach' einfach einmal etwas deutlicher, an welcher Stelle es denn hakt.
MartinS hat geschrieben: achja2, ist das normal das der designer so oft abschmiert?
Auch hier zitiere ich wieder das Handbuch:

Code: Alles auswählen

Der Report-Designer ist beim Editieren eines Berichtes mit laufendem Abspeichern zu begleiten. Dazu zählt nicht nur das Abspeichern im Report-Designer selbst nach jedem wichtigen Arbeitsschritt, sondern auch das Abspeichern der gesamten Datenbank.
Je nach Version von LibreOffice kann es beim Editieren auch zu plötzlichen Abstürzen des Report-Builders kommen.
Die Funktionsweise fertiger Berichte ist davon nicht betroffen – auch wenn diese Berichte unter einer anderen Version erstellt wurden, wo eben z.B. das oben genannte Verhalten nicht auftaucht.
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

MartinS
Beiträge: 41
Registriert: So 27. Jan 2013, 21:58

Re: Report Designer: Sortierung und Linien

Beitrag von MartinS » Do 23. Mai 2013, 21:59

RobertG hat geschrieben:
MartinS hat geschrieben:1. Linien:
Es gibt da ja Linien, leider werden die nicht mit ausgegeben, hab ich da nur irgendwelche Einstellungen übersehen?
Ich zitiere hier einmal das Handbuch:
OK, les ich mal öfters das Handbuch *g*.....aber evtl. wärs ja gut wenn buttons für Funktionen die erst später mal in die software kommen sollen ausgegraut oder erst gar nicht sichtbar wären :)
RobertG hat geschrieben:
MartinS hat geschrieben: achja2, ist das normal das der designer so oft abschmiert?
Auch hier zitiere ich wieder das Handbuch:
Ok, ok, ich les es in zukunft wirklich öfters....
RobertG hat geschrieben:
MartinS hat geschrieben: 2. Sortierung:
Ich hab ne Abfrage die mir zu einer gegebenen Rechnungnummer alle Artikel raussucht inkl. zugehöriger Kundenbestllnummer undLieferscheinnummer. Einige Artikel haben allerdings keine Lieferscheinnummer.
Ich möchte nun ein Rechnungsformular bauen in dem am Anfang die vorkommenden Lieferscheine aufgelistet sind und danach Die Artikel nach Kundenbestellnummer sortiert aufgelistet werden.
Funzt bis jetzt auch soweit nur n den am nfang aufgelisteten Lieferscheinnummern scheitere ich grade...:(
Da musst Du schon konkreter werden. Mal erwähnst Du eine Abfrage, dann ein Formular ... Grundsätzlich kann der Report-Builder nur die Daten eines Datensatzes darstellen. Den musst Du also mit einer Abfrage entsprechend zusammenstellen. Fehlt bei einigen Datensätzen z.B. so etwas wie die Lieferscheinnummer, so werden diese entsprechenden Datensätze gleich sortiert, wenn Du nach der Lieferscheinnummer sortierst. Mach' einfach einmal etwas deutlicher, an welcher Stelle es denn hakt.
Ok, ich versuchs:

1. habe ich eine Abfrage die mir zu einer "Rechnungsnummer" die gelieferten "Waren" mit den zugehörigen "Lieferscheinnummern", dem Liefer "datum" den Kunden"bestellDaten", "Anzahl" usw. liefert.
2. möchte ich mit dem Report-designer eine Rechnung entwerfen die so sortiert sein soll:

-----------------------------------
Lieferschein 1 v. Datum1
Lieferschein 2 v. Datum2

Bestelldaten1
-Anzahl1 ----Ware1
-Anzahl2 ----Ware2

Bestelldaten2
-Anzahl3 -------Ware3
-Anzahl4 --------Ware4
-------------------------------------------

Am Anfang der Rechnung sollen alle Lieferscheine aufgeführt sein, die in der Rechnung vorkommen, die eigentliche Abrechnung erst dahinter.

Zur zeit bekomme ich die sortierung nur in etwa dieser Form hin:

-----------------------------------
Lieferschein 1 v. Datum1
Bestelldaten1
-Anzahl1 ----Ware1
-Anzahl2 ----Ware2

Lieferschein 2 v. Datum2
Bestelldaten2
-Anzahl3 -------Ware3
-Anzahl4 --------Ware4
-------------------------------------------

hoffe das war jetzt verständlicher :)

mfG

MartinS

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

Re: Report Designer: Sortierung und Linien

Beitrag von RobertG » Fr 24. Mai 2013, 17:14

Hallo Martin,
MartinS hat geschrieben: OK, les ich mal öfters das Handbuch *g*.....aber evtl. wärs ja gut wenn buttons für Funktionen die erst später mal in die software kommen sollen ausgegraut oder erst gar nicht sichtbar wären :)
Zum einen verweise ich auf das Handbuch, weil ich den Inhalt eben auch verzapft habe. Da brauche ich mir nichts neues aus den Findern zu saugen.
Zum anderen: Die Linien sind ja erstellbar. Wenn Du OOo 3.3.0 oder auch AOO 3.4.1 nimmst, dann erscheinen die Linien auch. Nur in LO werden die nicht dargestellt. In allen Versionen lassen sich auch Diagramme erstellen - nur stellt lediglich LO 3.3.* die Diagramme auch dar - andere LO-Versionen öffnen die Berichte teilweise gar nicht, AOO öffnet sie ohne die Diagramme.
Allerdings gibt es auch Funktionen, die wohl geplant waren, aber letztlich nicht umgesetzt wurden. So war z.B. Spaltensatz im Bericht geplant. Fortlaufende Datensätze lassen sich zur Zeit aber nur untereinander, nicht aber nebeneinander darstellen. Auch einige andere Auswahlmöglichkeiten bewirken im Moment nichts.
Das Ganze liegt wohl etwas daran, dass der Report-Builder eigentlich noch in ständiger Entwicklung war, als OOo schließlich in AOO und LO auseinanderbrach.
Wenn Du wissen möchtest, welche Bugs bisher zum Report-Builder noch offen sind, dann hilft Dir vielleicht dieser Link:
Offene LO-Report-Builder-Bugs
RobertG hat geschrieben:
MartinS hat geschrieben: 2. Sortierung:
Ich hab ne Abfrage die mir zu einer gegebenen Rechnungnummer alle Artikel raussucht inkl. zugehöriger Kundenbestllnummer undLieferscheinnummer. Einige Artikel haben allerdings keine Lieferscheinnummer.
Ich möchte nun ein Rechnungsformular bauen in dem am Anfang die vorkommenden Lieferscheine aufgelistet sind und danach Die Artikel nach Kundenbestellnummer sortiert aufgelistet werden.
Funzt bis jetzt auch soweit nur n den am nfang aufgelisteten Lieferscheinnummern scheitere ich grade...:(
Da musst Du schon konkreter werden. Mal erwähnst Du eine Abfrage, dann ein Formular ... Grundsätzlich kann der Report-Builder nur die Daten eines Datensatzes darstellen. Den musst Du also mit einer Abfrage entsprechend zusammenstellen. Fehlt bei einigen Datensätzen z.B. so etwas wie die Lieferscheinnummer, so werden diese entsprechenden Datensätze gleich sortiert, wenn Du nach der Lieferscheinnummer sortierst. Mach' einfach einmal etwas deutlicher, an welcher Stelle es denn hakt.
MartinS hat geschrieben: Ok, ich versuchs:

1. habe ich eine Abfrage die mir zu einer "Rechnungsnummer" die gelieferten "Waren" mit den zugehörigen "Lieferscheinnummern", dem Liefer "datum" den Kunden"bestellDaten", "Anzahl" usw. liefert.
2. möchte ich mit dem Report-designer eine Rechnung entwerfen die so sortiert sein soll:

-----------------------------------
Lieferschein 1 v. Datum1
Lieferschein 2 v. Datum2

Bestelldaten1
-Anzahl1 ----Ware1
-Anzahl2 ----Ware2

Bestelldaten2
-Anzahl3 -------Ware3
-Anzahl4 --------Ware4
-------------------------------------------

Am Anfang der Rechnung sollen alle Lieferscheine aufgeführt sein, die in der Rechnung vorkommen, die eigentliche Abrechnung erst dahinter.

Zur zeit bekomme ich die sortierung nur in etwa dieser Form hin:

-----------------------------------
Lieferschein 1 v. Datum1
Bestelldaten1
-Anzahl1 ----Ware1
-Anzahl2 ----Ware2

Lieferschein 2 v. Datum2
Bestelldaten2
-Anzahl3 -------Ware3
-Anzahl4 --------Ware4
-------------------------------------------
Eins der Probleme, die darin bestehen, dass die Lieferscheine eben nicht in einem Datensatz stecken. Möchtest Du alle Lieferscheine zuerst benannt haben, so musst Du alle Lieferscheine bereits in der Abfrage zusammen fassen. Ich mache das einmal an einem Beispiel deutlich:
In der Beispieldatenbank zum Handbuch befindet sich ein Bericht, mit dem die Rückgabe von entliehenen Medien angemahnt werden soll. Der Bericht zeigt die Adresse an, an die das Ganze gehen soll. Er zeigt auch die Medien an. Die Adresse ist in der Abfrage vom Prinzip her mit jedem einzelnen Medium gekoppelt. Sie taucht also in jedem Datensatz der Abfrage gleich auf. Nur der erste Datensatz wird von dem Report-Builder ausgelesen. Danach füllt der Report-Builder nur den Bereich "Detail" aus.
Für Dein Projekt übertragen: In Deiner Abfrage muss ein Feld "Lieferscheine" auftauchen, in dem alle Lieferscheine zusammen gebündelt auftauchen - nicht die Lieferscheine nacheinander in verschiedenen Datenreihen. Vermutlich brauchst Du dazu das Mittel einer korrelierten Unterabfrage. Leider kennt die interne HSQLDB nämlich nicht den Befehl "Group_Concat". Ein Beispiel dazu gibt es im Handbuch im Kapitel "Datenbank-Aufgaben" unter der Überschrift "Gruppieren und Zusammenfassen". Der Haken an der dortigen Lösung: Es ist eine reine Abfragelösung ohne Makros und Schleifen - du musst von vornherein so viele Abfrageteile erstellen (kopieren - einfügen), wie Du vermutlich maximal an Lieferscheinen erwartest.

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

MartinS
Beiträge: 41
Registriert: So 27. Jan 2013, 21:58

Re: Report Designer: Sortierung und Linien

Beitrag von MartinS » Sa 25. Mai 2013, 10:07

RobertG hat geschrieben: Das Ganze liegt wohl etwas daran, dass der Report-Builder eigentlich noch in ständiger Entwicklung war, als OOo schließlich in AOO und LO auseinanderbrach.
Wenn Du wissen möchtest, welche Bugs bisher zum Report-Builder noch offen sind, dann hilft Dir vielleicht dieser Link:
Offene LO-Report-Builder-Bugs
ok, also opensource-anwender ist mann ja in Geduld geübt *g*, und irgendwann wirds ja...
RobertG hat geschrieben: Eins der Probleme, die darin bestehen, dass die Lieferscheine eben nicht in einem Datensatz stecken. Möchtest Du alle Lieferscheine zuerst benannt haben, so musst Du alle Lieferscheine bereits in der Abfrage zusammen fassen. Ich mache das einmal an einem Beispiel deutlich:
In der Beispieldatenbank zum Handbuch befindet sich ein Bericht, mit dem die Rückgabe von entliehenen Medien angemahnt werden soll. Der Bericht zeigt die Adresse an, an die das Ganze gehen soll. Er zeigt auch die Medien an. Die Adresse ist in der Abfrage vom Prinzip her mit jedem einzelnen Medium gekoppelt. Sie taucht also in jedem Datensatz der Abfrage gleich auf. Nur der erste Datensatz wird von dem Report-Builder ausgelesen. Danach füllt der Report-Builder nur den Bereich "Detail" aus.
Für Dein Projekt übertragen: In Deiner Abfrage muss ein Feld "Lieferscheine" auftauchen, in dem alle Lieferscheine zusammen gebündelt auftauchen - nicht die Lieferscheine nacheinander in verschiedenen Datenreihen. Vermutlich brauchst Du dazu das Mittel einer korrelierten Unterabfrage. Leider kennt die interne HSQLDB nämlich nicht den Befehl "Group_Concat". Ein Beispiel dazu gibt es im Handbuch im Kapitel "Datenbank-Aufgaben" unter der Überschrift "Gruppieren und Zusammenfassen". Der Haken an der dortigen Lösung: Es ist eine reine Abfragelösung ohne Makros und Schleifen - du musst von vornherein so viele Abfrageteile erstellen (kopieren - einfügen), wie Du vermutlich maximal an Lieferscheinen erwartest.
Ah, das hilft ein bisserl weiter, ich nutz hier mysql (Die interne HSQLDB war so schrecklich langsam...) und werd mir dann mal "group-concat" anschauen.
und maximale anzahl an Lieferscheinen ist so 3, also noch handhabbar :)

Danke erstmal.

MartinS

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

Re: Report Designer: Sortierung und Linien

Beitrag von RobertG » Sa 25. Mai 2013, 10:26

Hallo Martin,

mit Group_Concat spielt die Anzahl der Lieferscheine keine Rolle mehr. Da werden dann alle Datensätze entsprechend zusammengefasst. Die korrelierende Unterabfrage wirst Du dennoch benötigen - oder den Umweg über die Erstellung einer Ansicht.

Die Ansprache der internen Datenbank ist leider seit der 3.5.0.rc2 bzw. den letzten beiden Versionen von 3.4 ziemlich langsam geworden. Da stecken wohl mehrere Fehler in den Java-Routinen, so dass sich der Auslesevorgang bei Daten im Kreis dreht. Mittlerweile ist das Ganze wieder ein bisschen behoben worden - aber eben nur ein bisschen. Die aktuelle Version braucht immer noch sehr lange ( ziemlich genau 30* so lange zum scrollen ans Ende einer Tabelle wie noch die 3.4.4 https://bugs.freedesktop.org/show_bug.cgi?id=52170)

Mit der MySQL-Variante bist Du aber schon allein wegen des Funktionsumfanges besser bedient, auch wenn Du für die Erstellung von Beziehungen darauf achten musst, den Tabellentyp "INNODB" vorzuwählen.

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

MartinS
Beiträge: 41
Registriert: So 27. Jan 2013, 21:58

Re: Report Designer: Sortierung und Linien

Beitrag von MartinS » Do 30. Mai 2013, 13:27

sodele,
dank deiner Hilfe & Hinweise bin ich ein grosses stückchen weitergekommen.
RobertG hat geschrieben: mit Group_Concat spielt die Anzahl der Lieferscheine keine Rolle mehr. Da werden dann alle Datensätze entsprechend zusammengefasst. Die korrelierende Unterabfrage wirst Du dennoch benötigen - oder den Umweg über die Erstellung einer Ansicht.
Ich hab auf dem eine neue Ansicht erstellt, die mir zu jeder Rechnung die Lieferscheine mit group_concat in ein Feld zusammenfügt.
im groben sieht sie so aus:

Code: Alles auswählen

select `Rechnungen`.`RE_Nr` AS `RE_Nr`,
group_concat(distinct `Lieferscheine`.`LS_Nr`,date_format(`Lieferscheine`.`Datum`,'%e.%c.%y') separator '   //   ') AS `Lieferscheine` 
from ...blablabla... group by `Rechnungen`.`RE_Nr`
das ergibt eine ausgabe in folgender Form:

Code: Alles auswählen

'31', '10927.5.98   //   10626.5.98   //   10519.5.98'
31 ist die Rechnungsnummer, dahinter Lieferscheinnummern und Datum

Das ergebnis lässt sich jetzt so in den Report einbauen, das ich meine gewünschte sortierung bekomme.
Ich würde jetzt gerne noch das obige abfrageergebniss so ändern das die Ausgabe wie folgt aussieht:

Code: Alles auswählen

'31', '109 vom 27.5.98   //   106 vom 26.5.98   //   105 vom 19.5.98'
Eine Möglichkeit wäre ja noch ein Feld in die Leiferscheintabelle einzubauen das den String " vom " enthält und das bei obigem group_concat mit abzufragen.
Evvtl. Gibts da ja noch ne bessere Lösung?


Edit: geht ja ganz einfach :

Code: Alles auswählen

select `Rechnungen`.`RE_Nr` AS `RE_Nr`,
group_concat(distinct `Lieferscheine`.`LS_Nr`,' vom ',date_format(`Lieferscheine`.`Datum`,'%e.%c.%y') separator '   //   ') AS `Lieferscheine` 
from ...blablabla... group by `Rechnungen`.`RE_Nr`
ein Problem ist das die Anführungszeichen in den SQL-Befehlen je nach Programm unterschiedlich sind, kann einen als Gelegenheitsanwender zur Verzweifelung bringen..
(Base beuntzt da " wo MYSQL-Workbench `nutzt usw....
/edit
RobertG hat geschrieben: Die Ansprache der internen Datenbank ist leider seit der 3.5.0.rc2 bzw. den letzten beiden Versionen von 3.4 ziemlich langsam geworden. Da stecken wohl mehrere Fehler in den Java-Routinen, so dass sich der Auslesevorgang bei Daten im Kreis dreht. Mittlerweile ist das Ganze wieder ein bisschen behoben worden - aber eben nur ein bisschen. Die aktuelle Version braucht immer noch sehr lange ( ziemlich genau 30* so lange zum scrollen ans Ende einer Tabelle wie noch die 3.4.4 https://bugs.freedesktop.org/show_bug.cgi?id=52170)

Mit der MySQL-Variante bist Du aber schon allein wegen des Funktionsumfanges besser bedient, auch wenn Du für die Erstellung von Beziehungen darauf achten musst, den Tabellentyp "INNODB" vorzuwählen.
Ich bastel an meiner Firmen-datenbank ja schon einige Jahre rum und irgendwann war halt der Punkt gekommen wo ich eh mehrbenutzer und server brauchte und hab dann die datenbank auf mysql umgestellt (das hier hat dabei sehr geholfenhttp://techtips-tom.blogspot.de/2012/05 ... sqldb.html)

Das mit der Geschwindigkeit war nur ein sehr auffallender Nebeneffekt ;)

mfg

MartinS


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