Daten aus n:m-Beziehungen in Writer Dokument

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Daten aus n:m-Beziehungen in Writer Dokument

Re: Daten aus n:m-Beziehungen in Writer Dokument

von herz4 » Sa, 23.10.2010 17:13

Hallo Jörg,

ich hoffe es geht, wenn Du ein eindimensionales String-Array a() definierst, mit einer Laufzahl i den a(i) von 1 ab (oder 0, mein Halbwissen!) die Strings Deiner Abfrage zuordnest (http://www.ooowiki.de/BaseApi) und dann zusammensetzt mit JOIN(a(), ', '). In diesem Falle erhältst Du String1, String2, ... usw. Ich habe bisher erst das Umgekehrte mit a()=SPLIT(LANGERSTRINGMITSEMIKOLONTRENNERN; ';'), a(i)=TRIM(a(i)) und JOIN(a(),'; ') ausführen lassen, um unpassende Leerzeichen in einem String (Kategorienliste) zu tilgen.

Viel Erfolg wünscht René

Re: Daten aus n:m-Beziehungen in Writer Dokument

von joe_ma » Sa, 23.10.2010 10:10

Ciao René

Vielen Dank für deine Antwort. Dann werde ich mich halt mal an Basic ranmachen ...

Gruss
Jörg

Re: Daten aus n:m-Beziehungen in Writer Dokument

von herz4 » Sa, 23.10.2010 07:25

Hallo Jörg,

in neuen Datenbanksystemen wie z. B. HSQL 2.0 oder auch H2 gibt es für diesen Zweck den schönen SQL-Befehl GROUP_CONCAT oder ähnliches. Derzeit Base-interne HSQL 1.8 bietet den Luxus noch nicht.

Aber per Base-Basic-Makro kann man die Abfrage, die mehre Datensätze enthält in ein Array einlesen, welches man dann per Join-Befehl in einen einzigen String verwandeln kann und etwa auch in ein Writer-Document oder Tabelle setzen lassen kann.

Ein wenig Arbeit ist es ...

Toi, toi, toi wünscht

René

Daten aus n:m-Beziehungen in Writer Dokument

von joe_ma » Fr, 22.10.2010 17:10

Hallo

Ich verwende ein Writer-Dokument, um Daten aus einer Base-Datenbank in einen sauber formatierten Bericht zu übernehmen. Das funktionierte bisher bestens: da ich nur 1:n-Beziehungen in der Datenbank hatte, konnte ich Abfrageergebnisse leicht im Writerdokument einfügen. Ich habe dort die gewünschten Felder angegeben und kann nun die Abfrage-Ergebnisse per "Daten in Felder" mit einem Mausklick einfügen.

Nun musste ich aber die Datenbank ergänzen, weil das Bedürfnis nach n:m-Beziehungen aufkam. D.h. mittels Unterformularen können nun einem Hauptdatensatz mehrere Datensätze einer bestimmten Tabelle zugewiesen werden.

Jetzt stehe ich vor dem Problem, diese Datensätze in ein entsprechendes Feld im Writer-Dokument automatisch einzulesen. Dazu habe ich eine Abfrage kreiert, welche alle zum Hauptdatensatz gehörenden Einträge des Unterformulars auflistet. So erhalte ich eine Tabelle mit einer Spalte und mehreren Zeilen. Wie kann ich denn jetzt bewerkstelligen, dass ALLE Zeilen im entsprechenden Datenfeld eingetragen werden? Bislang wird nur eine Zeile eingelesen.

Es gibt zwar noch die Möglichkeit, "Daten in Text" zu verwenden und die Daten als Tabelle oder Text einzufügen, das scheint mir aber etwas kompliziert zu sein. Gibt es nichts komfortableres?

Danke für die Hilfe

Gruss
Jörg

Nach oben