BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Bericht mit 2 Spalten im Detailbereich

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
miniaturbuch1
Beiträge: 11
Registriert: So 2. Nov 2014, 14:09

Bericht mit 2 Spalten im Detailbereich

Beitrag von miniaturbuch1 » Mi 19. Nov 2014, 20:37

Hallo,
kann man bei Libre Office den Detailbereich in zwei Spalten aufteilen?
Ich möchte die Datensätze zweispaltig anordnen:
1 TITEL AUTOR 33 TITEL AUTOR
VERLAG AUSGABEORT JAHR VERLAG AUSGABEORT JAHR
BEMERKUNGEN BEMERKUNGEN
2 TITEL AUTOR 34 TITEL AUTOR
VERLAG AUSGABEORT JAHR VERLAG AUSGABEORT JAHR
BEMERKUNGEN BEMERKUNGEN
3 35
usw. usw.

Leider finde ich keine Möglichkeit, den Bereich in Spalten aufzuteilen und
den Umweg über Etikettendruck möchte ich auch nicht.

Weiß jemand, ob das überhaupt geht?
merci im Voraus,
:-)

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Bericht mit 2 Spalten im Detailbereich

Beitrag von RobertG » Mi 19. Nov 2014, 22:05

Hallo miniaturbuch1,

nein, eine Darstellung verschiedener Datensätze in Spalten nebeneinander war zwar ursprünglich vorgesehen, ist aber nie realisiert worden.
Du musst also versuchen, die Daten, die Du nebeneinader darstellen willst, auch in eine Datenzeile zu bekommen. So etwas könnte vermutlich mit einer Abfrage zu bewerkstelligen sein. Ich habe so etwas für Kalender allerdings mit einem Makro gemacht, das direkt eine Tabelle mit den entsprechenden Spalten für 7 Tage nebeneinander ausfüllt.

Ergänzung: ich habe das jetzt einmal an einer Beispieltabelle mit einer Abfrage probiert und damit zwei Spalten nebeneinander in einer Datenzeile dargestellt:

Code: Alles auswählen

SELECT "T1"."Name" AS "Name1","T1"."ZeilenNr" AS "Zeile1", "T2"."Name" AS "Name2","T2"."ZeilenNr" AS "Zeile2" 
FROM 
(SELECT * FROM (SELECT "a".*, (SELECT COUNT("ID") FROM "Tabelle1" WHERE "ID" <= "a"."ID") AS "ZeilenNr" FROM "Tabelle1" AS "a") WHERE MOD("ZeilenNr",2) > 0) AS "T1", 
(SELECT * FROM (SELECT "a".*, (SELECT COUNT("ID") FROM "Tabelle1" WHERE "ID" <= "a"."ID") AS "ZeilenNr" FROM "Tabelle1" AS "a") WHERE MOD("ZeilenNr",2) = 0) AS "T2" 
WHERE "T1"."ZeilenNr" = "T2"."ZeilenNr" - 1
Sieht schon etwas abenteuerlicher aus, weil insgesamt 4 SELECTs aufeinander zugreifen.
Zuerst wird die Zeilennummerierung erstellt - von 1 beginnend, müsste noch eine eindeutige Sortierung enthalten, wenn nicht der Primärschlüssel gewühlt wird.
Dann wird von diesen Zeilen nur jede zweite ausgewählt. Für die erste Spalte die, bei denen die Zeilennummer ungerade ist, für die zweite Spalte die, für die die Zeilennummer gerade ist. Die ZeilenNr muss dabei mitgenommen werden, damit die Beziehung zwischen den beiden «Tabellen» (sind ja eigentlich Abfragen) definiert werden kann. Schließlich wird auf die erste «Tabelle» mit "T1" zugegriffen, auf die zweite Tabelle mit "T2". Die Beziehing zwischen "T1" und "T2" ist eine um 1 größere Zeilennummer in "T2".

Wenn Du so etwas in einem Bericht nutzen möchtest, dann empfehle ich Dir, die entsprechende Abfrage als Ansicht zu speichern. Dann klappt auch der Bericht einwandfrei, ohne dass an dem Code durch den Report-Builder rumgemäkelt wird.

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

miniaturbuch1
Beiträge: 11
Registriert: So 2. Nov 2014, 14:09

Re: Bericht mit 2 Spalten im Detailbereich

Beitrag von miniaturbuch1 » Do 20. Nov 2014, 19:47

Hallo Robert,

die Idee ist beachtenswert. Erstaunlich, was für Lösungsmöglichkeiten doch ersonnen werden.

Wenn ich es richtig verstanden habe, sind die Datensätze dann immer Zeile für Zeile links/rechts 1/2; 3/4 dann gelistet.

Das ergibt zwei Spalten, aber die Datensätze sind nicht in der Spalte selbst fortlaufend, sondern jeder zweite Datensatz steht untereinander.

Ich danke Dir für Deine Hilfe

Servus,

Luggi

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Bericht mit 2 Spalten im Detailbereich

Beitrag von RobertG » Fr 21. Nov 2014, 19:09

Hallo Luggi,

Du hast mich da auch eine Idee gebracht, die ich gleich für das nächste Handbuch umgesetzt habe: Zweispaltiger Bericht war ja gar nicht so schwer, aber ein zweispaltiger Bericht, der auch noch eine bestimmte Sortierung beinhaltet braucht dann doch eine Abfrage, mit der der Report-Builder nicht zurecht kommt. Aus der Abfrage dann eine Ansicht erstellt und schon funktioniert auch eine Übersicht, bei der entsprechende Sortierfunktionen mit enthalten sind.

Ich hänge die Beispieldatei einmal an. Eine Beschreibung dazu wird es dann beim nächsten Handbuch geben.

Gruß

Robert
Dateianhänge
Beispiel_Bericht_Zeilen_Farbwechsel.odb_1.zip
Berichte mit meheren Spalten und eingefärbten Zeilen
(24.61 KiB) 181-mal heruntergeladen
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

RobertG
Beiträge: 2732
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Bericht mit 2 Spalten im Detailbereich

Beitrag von RobertG » Sa 22. Nov 2014, 17:59

Noch ein kleiner Nachtrag:

Die in der ersten Variante von mir gepostete Lösung hat einen Haken: Sie zeigt nicht alle Datensätze an, wenn es sich um eine ungerade Anzahl von Datensätzen handelt.

Code: Alles auswählen

SELECT "T1"."Name" AS "Name1","T1"."ZeilenNr" AS "Zeile1", "T2"."Name" AS "Name2","T2"."ZeilenNr" AS "Zeile2"
FROM
(SELECT * FROM (SELECT "a".*, (SELECT COUNT("ID") FROM "Tabelle1" WHERE "ID" <= "a"."ID") AS "ZeilenNr" FROM "Tabelle1" AS "a") WHERE MOD("ZeilenNr",2) > 0) AS "T1",
(SELECT * FROM (SELECT "a".*, (SELECT COUNT("ID") FROM "Tabelle1" WHERE "ID" <= "a"."ID") AS "ZeilenNr" FROM "Tabelle1" AS "a") WHERE MOD("ZeilenNr",2) = 0) AS "T2"
WHERE "T1"."ZeilenNr" = "T2"."ZeilenNr" - 1
Das Ganze müsste entsprechend angepasst werden, so dass mit einem LEFT JOIN auf "T1" gearbeitet werden kann. Dies ist leider nicht so einfach möglich, da bei einem LEFT JOIN eine Bedingung wie

Code: Alles auswählen

"T2"."ZeilenNr" - 1
nicht möglich ist.

Code: Alles auswählen

SELECT "T1"."Name" AS "Name1","T1"."ZeilenNr" AS "Zeile1", "T2"."Name" AS "Name2","T2"."ZeilenNr" AS "Zeile2"
FROM
( SELECT "Name", "ZeilenNr", "ZeilenNr" AS "Zeile" FROM 
( SELECT "a"."Name", ( SELECT COUNT( "ID" ) FROM "Tabelle1" WHERE "ID" <= "a"."ID" ) AS "ZeilenNr" FROM "Tabelle1" AS "a" ) WHERE MOD( "ZeilenNr", 2 ) > 0 ) AS "T1" 
LEFT JOIN ( SELECT "Name", "ZeilenNr", "ZeilenNr" - 1 AS "Zeile" FROM 
( SELECT "a"."Name", ( SELECT COUNT( "ID" ) FROM "Tabelle1" WHERE "ID" <= "a"."ID" ) AS "ZeilenNr" FROM "Tabelle1" AS "a" ) WHERE MOD( "ZeilenNr", 2 ) = 0 ) AS "T2" 
ON "T1"."Zeile" = "T2"."Zeile"
Führt dagegen zum Ziel.

Ergänzung: Ich habe das Ganze jetzt bereits in das Kapitel "Berichte" für das Handbuch Base LO 4.4 übernommen. Allein dieses Kapitel umfasst inzwischen über 40 Seiten. Die Bispieldatenbank habe ich auch entsprechend angepasst: http://robert.familiegrosskopf.de/lo_hb_dev/

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

AndreasB
Beiträge: 3
Registriert: So 14. Nov 2021, 11:06

Re: Bericht mit 2 Spalten im Detailbereich

Beitrag von AndreasB » So 14. Nov 2021, 13:17

Ein freundliches Hallo an das Forum,

ich habe ein Thema, das eventuell hier hin passt. Ich befasse mich erst seit kurzem mit LO-Base und verwende die eingebettete HSQLDB.

Das Ergebnis einer Abfrage liefert eine Liste mit z.B. 4 Zeilen (Datensätze) mit z.B. 3 Feldern. Diese Daten sollen in einem Formular angezeigt werden, bei dem horizontal die Datensätze und vertikal die 3 Felder als Blöcke nebeneinander angezeigt werden. Diese Darstellung wird auch bei Vergleichs-Testberichten verwendet, wo mehrere Produkte nebeneinander dargestellt werden und die Eigenschaften zeilenweise darunter angeordnet sind, sodass man die Eigenschaften der Produkte zeilenweise vergleichen kann. Meines Wissens gibt es bei LO-Base keine standardmäßige Lösung.
Das Thema ist vor längerer Zeit bereits im Forum besprochen worden; möglicherweise gibt es zwischenzeitlich eine einfachere Form der Realisierung.
Über einen Lösungsvorschlag würde ich mich freuen.
Vielen Dank.

Mit freundlichen Grüßen
Andreas

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Bericht mit 2 Spalten im Detailbereich

Beitrag von Wanderer » So 14. Nov 2021, 15:43

AndreasB hat geschrieben:
So 14. Nov 2021, 13:17
Ein freundliches Hallo an das Forum,

ich habe ein Thema, das eventuell hier hin passt.
Eventuell, aber eher fraglich.

Ganz sicher aber sollte man nach 7 Jahren einen neuen Thread aufmachen...
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten