Ich habe eine Tabelle mit Angaben zu Adressen in Spalten, die bereits von mir vergebene Namen tragen (also einfach in der ersten Zeile der Tabelle).
Diese Tabelle möchte ich jetzt ganz einfach als Datenquelle für eine Adressenliste verwenden, ohne Datenbank, ohne Datenquellenregistrierungsquatsch. Einfach ganz normal so wie sie ist, diese Tabelle.
Außerdem habe ich eigentlich schon ein "Serienbrief-Hauptdokument" mit den entsprechenden Feldreferenzen. Daher möchte ich die Spaltenbezeichner nicht mappen oder zuordnen oder ändern oder sonstwas, sondern einfach so übernehmen, wie ich sie mir mal vor langer Zeit sinnvoll ausgedacht habe.
Was hinterher dabei rauskommen soll, ist erstmal eine Adressenliste (vgl. mein voriger Beitrag), aber das kann auch mal ne Geburtstagseinladung sein. Das ist also erstmal zweitrangig.
Wie kann ich das mit OOO 3.0.1 erreichen? (Mit MSO ist das tatsächlich ziemlich simpel, obwohl die Serienbrief-Assistenten dort seit WinWord 2.0 auch immer schlimmer geworden sind. Und in MSO2007 findet man sich sowieso nicht mehr zurecht.)
Tabellendokument als Datenquelle?
Moderator: Moderatoren
Re: Tabellendokument als Datenquelle?
OK... ich habe versucht, eine vorhandene Tabelle (zuerst mal als ODS gespeichert) als Tabelle einzubinden (also in BASE irgendwas hinzubekommen, damit BASE auf das Tabellendokument zugreift und den Inhalt als Datenbanktabelle in OOo zur Verfügung stellt) oder auch nur in eine neue BASE-Tabelle reinzukopieren, wobei ich die Spaltenbezeichner gerne behalten hätte. Weder einbinden noch Reinkopieren habe ich hinbekommen: Ich habe einen Adressen-Assistenten gefunden, aber der zwingt mir seine Feldnamen auf (ich hätte die vorhandenen Spaltenbezeichner vorgegebenen Spaltenbezeichnern zuordnen müssen, so sah das jedenfalls aus), und ich habe alternativ eine neue Tabelle in BASE definiert mit meinen Spaltenbezeichnern und lauter VARCHAR(255)-Feldern, aber da konnte ich dann keine Datensätze einfügen, warum auch immer. Ich hatte allerdings keinen Primärschlüssel definiert -- vielleicht muss man das ja (ich weiß, ist eigentlich immer ne gute Idee -- aber für ne simple Adressliste???). Nachträglich habe ich dann auch nicht gefunden, wie das geht.
Und wenn denn eine Datenbank nötig ist, wie krieg ich es denn dann hin? Dass ich meine Spaltenbezeichner gerne behalten möchte, ist ja wohl noch legitim.
Und wenn denn eine Datenbank nötig ist, wie krieg ich es denn dann hin? Dass ich meine Spaltenbezeichner gerne behalten möchte, ist ja wohl noch legitim.
Re: Tabellendokument als Datenquelle?
Also das hat mir alles schon sehr geholfen, und ich habe jetzt etwas, das schon fast so aussieht, wie ich mir das vorgestellt habe:
Ich habe meine Adressen-Tabelle (Tabellendokument) als "Pseudo-Datenbank" (weil die erzeugte Datenbank ja eigentlich nur ein Adapter zum Tabellendokument ist) zu einer Datenquelle gemacht, die auch die selbe Struktur hat wie mein Tabellendokument. (Ich verstehe aber immer noch nicht, warum ich nicht in einer "normalen" Datenbank einfach eine Tabelle anlegen kann "als verknüpfte Tabelle", sondern diese Entscheidung gleich bei der Neuanlage treffen muss. Sonst wäre ich nämlich schon weiter gewesen.)
Ich habe auch Adressetiketten gebastelt, die ungefähr die Form und Größe haben, die ich wollte, und mit NächsterDatensatz werden auch brav alle Adressen nach und nach reingezogen UND es gibt Anschlussseiten, wenn 1 Seite nicht ausreicht.
ABER:
Die Adressetiketten sind alle gleich groß, weil es diese verknüpften und dann synchronisierten Bereiche sind (die mir noch etwas rätselhaft sind -- klingt ein bischen so wie HTML <div> bzw. <span>.) Ich habe es nicht geschafft, sie abhängig von der Anzahl angezeigter Zeilen (siehe VersteckterAbsatz etc.) unterschiedlich hoch werden zu lassen.
Außerdem bekomme ich aktuell noch Leerseiten eingestreut: Jede zweite Seite wird eine Leerseite. Hängt das mit dem benögten Platz vs. dem Papierformat zusammen?
Schließlich habe ich nun einige Artikel über "Datenbankberichte" gelesen. Darin deutet einiges darauf hin, dass auf ein und der selben Seite OOo nicht in der Lage ist, bei Vorliegen weiterer Datensätze automatisch neuen Text zu generieren, sondern das klappt scheinbar nur im Zusammenhang mit neuen Seiten. Wie soll ich das bloß schreiben... Also der Artikel über Datenbankberichte sagt im Prinzip, dass man dann, wenn man mehr Datensätze hat, als auf eine Seite voraussichtlich passen, den "Datenfeld-Block für einen Datensatz" so oft hintereinander hinschreiben soll, bis die Seite voll ist, und zwischen den einzelnen Datenblöcken NächsterDatensatz schreiben soll, aber nicht hinter dem letzten Block auf der Seite, weil diese Funktionalität an dieser Stelle automatisch abläuft und man also sonst einen Datensatz "überspringen" würde. Wenn aber ungewiss ist, wieviele Datensätze eine Seite füllen würden bzw. das an den Daten hängt, ob auf einer Seite 20 oder 25 Datensätze Platz haben -- dann kann ich doch nicht im Voraus genau die richige Anzahl "Datensatz-Blöcke" auf der Seite anlegen ?? -- Na hoffentlich kann man das verstehen, was ich hier zusammentexte.
Ich schreibe ein kurzes Beispiel:
Die Syntax ist bestimmt nicht korrekt, aber ich denke, man sieht, was ich meine. -- Mit Daten kann das jetzt z. B. so aussehen:
Der zweite Datensatz braucht also mehr Platz, und wieviele solcher Sätze auf einer Seite Platz haben, hängt allein an den Daten.
Wie gehe ich damit um?
Ich habe meine Adressen-Tabelle (Tabellendokument) als "Pseudo-Datenbank" (weil die erzeugte Datenbank ja eigentlich nur ein Adapter zum Tabellendokument ist) zu einer Datenquelle gemacht, die auch die selbe Struktur hat wie mein Tabellendokument. (Ich verstehe aber immer noch nicht, warum ich nicht in einer "normalen" Datenbank einfach eine Tabelle anlegen kann "als verknüpfte Tabelle", sondern diese Entscheidung gleich bei der Neuanlage treffen muss. Sonst wäre ich nämlich schon weiter gewesen.)
Ich habe auch Adressetiketten gebastelt, die ungefähr die Form und Größe haben, die ich wollte, und mit NächsterDatensatz werden auch brav alle Adressen nach und nach reingezogen UND es gibt Anschlussseiten, wenn 1 Seite nicht ausreicht.
ABER:
Die Adressetiketten sind alle gleich groß, weil es diese verknüpften und dann synchronisierten Bereiche sind (die mir noch etwas rätselhaft sind -- klingt ein bischen so wie HTML <div> bzw. <span>.) Ich habe es nicht geschafft, sie abhängig von der Anzahl angezeigter Zeilen (siehe VersteckterAbsatz etc.) unterschiedlich hoch werden zu lassen.
Außerdem bekomme ich aktuell noch Leerseiten eingestreut: Jede zweite Seite wird eine Leerseite. Hängt das mit dem benögten Platz vs. dem Papierformat zusammen?
Schließlich habe ich nun einige Artikel über "Datenbankberichte" gelesen. Darin deutet einiges darauf hin, dass auf ein und der selben Seite OOo nicht in der Lage ist, bei Vorliegen weiterer Datensätze automatisch neuen Text zu generieren, sondern das klappt scheinbar nur im Zusammenhang mit neuen Seiten. Wie soll ich das bloß schreiben... Also der Artikel über Datenbankberichte sagt im Prinzip, dass man dann, wenn man mehr Datensätze hat, als auf eine Seite voraussichtlich passen, den "Datenfeld-Block für einen Datensatz" so oft hintereinander hinschreiben soll, bis die Seite voll ist, und zwischen den einzelnen Datenblöcken NächsterDatensatz schreiben soll, aber nicht hinter dem letzten Block auf der Seite, weil diese Funktionalität an dieser Stelle automatisch abläuft und man also sonst einen Datensatz "überspringen" würde. Wenn aber ungewiss ist, wieviele Datensätze eine Seite füllen würden bzw. das an den Daten hängt, ob auf einer Seite 20 oder 25 Datensätze Platz haben -- dann kann ich doch nicht im Voraus genau die richige Anzahl "Datensatz-Blöcke" auf der Seite anlegen ?? -- Na hoffentlich kann man das verstehen, was ich hier zusammentexte.
Ich schreibe ein kurzes Beispiel:
Code: Alles auswählen
<<Nachname>>, <<Vorname>>
<<Strasse>>, <<PLZ>> <<ORT>> {Versteckt Wenn Leer:
<<Telefon>>}
Code: Alles auswählen
Müller, Heinz
Teststraße 3, 12345 Beispielstadt
Meier, Franz
Teststraße 5, 12345 Beispielstadt
012345/67890
Wie gehe ich damit um?
Re: Tabellendokument als Datenquelle?
Ha! Dann bin ich also doch nicht so begriffsstutzig!
Nun denn, bei dieser Gelegenheit möchte ich nur erwähnen, dass es für diese Layout-Anforderung auch noch andere Anwendungen gibt, z. B. Indexlisten, in denen zu aufgelisteten Wörtern oder Begriffen (unterschiedlicher Länge) jeweils unterschiedlich viele Fundstellen aufgeführt werden sollen -- z. B. der Index in einem Buch. Vielleicht sollte man versuchen, die Adressliste so zu erstellen, dass man daraus einen formatierten Index rechnen lassen kann -- da funktioniert es ja wohl
Ich habe jetzt jedenfalls mal probehalber Suns "Report Designer" runtergeladen. In "vergleichbaren" (?) Produkten ist es durchaus möglich, mit solchen Werkzeugen "bedingte vertikale Bereiche" zu erstellen, und sowas ähnliches wäre ja hier vonnöten. -- Ergebnisse habe ich aber noch nicht, muss gerade arbeiten...
Nun denn, bei dieser Gelegenheit möchte ich nur erwähnen, dass es für diese Layout-Anforderung auch noch andere Anwendungen gibt, z. B. Indexlisten, in denen zu aufgelisteten Wörtern oder Begriffen (unterschiedlicher Länge) jeweils unterschiedlich viele Fundstellen aufgeführt werden sollen -- z. B. der Index in einem Buch. Vielleicht sollte man versuchen, die Adressliste so zu erstellen, dass man daraus einen formatierten Index rechnen lassen kann -- da funktioniert es ja wohl

Ich habe jetzt jedenfalls mal probehalber Suns "Report Designer" runtergeladen. In "vergleichbaren" (?) Produkten ist es durchaus möglich, mit solchen Werkzeugen "bedingte vertikale Bereiche" zu erstellen, und sowas ähnliches wäre ja hier vonnöten. -- Ergebnisse habe ich aber noch nicht, muss gerade arbeiten...
Re: Tabellendokument als Datenquelle?
Letztes Wort (wahrscheinlich):
Der Sun Report Builder ist ganz schön und erlaubt über Gruppierungen so nette Sachen wie das Unterdrücken von mehrmals ausgedruckten Personennamen in Fällen, in denen man zu einer Person z. B. Privat, Firmen- und Urlaubsadresse hat.
Aber ich habe auch dort noch keinen Weg gefunden, im hier beschriebenen Szenario Zeilen nicht nur leer-, sondern ganz wegzulassen, wenn nichts drinstehen würde (die aber nicht als Gruppierungsmerkmal taugen!).
Diese Anforderung ist dann also wohl (noch) nicht mit OOo umsetzbar
Es käme halt darauf an, dass OOo im Zusammenhang mit dem "Mischen" von Daten & Text auch "mitten auf der Seite" nach Bedarf "Datensatz-Blöcke" anhängt, wenn noch Daten kommen -- und nicht nur bei Erreichen des Seitenendes. Dafür müsste es analog zum Feldbefehl "NächsterDatensatz", der nur in einen *vorhandenen* "Datensatz-Block" den nächsten Datensatz lädt, so etwas geben wie "AnfügenWeitererDatensatzFallsVorhanden".
Der Sun Report Builder ist ganz schön und erlaubt über Gruppierungen so nette Sachen wie das Unterdrücken von mehrmals ausgedruckten Personennamen in Fällen, in denen man zu einer Person z. B. Privat, Firmen- und Urlaubsadresse hat.
Aber ich habe auch dort noch keinen Weg gefunden, im hier beschriebenen Szenario Zeilen nicht nur leer-, sondern ganz wegzulassen, wenn nichts drinstehen würde (die aber nicht als Gruppierungsmerkmal taugen!).
Diese Anforderung ist dann also wohl (noch) nicht mit OOo umsetzbar

Es käme halt darauf an, dass OOo im Zusammenhang mit dem "Mischen" von Daten & Text auch "mitten auf der Seite" nach Bedarf "Datensatz-Blöcke" anhängt, wenn noch Daten kommen -- und nicht nur bei Erreichen des Seitenendes. Dafür müsste es analog zum Feldbefehl "NächsterDatensatz", der nur in einen *vorhandenen* "Datensatz-Block" den nächsten Datensatz lädt, so etwas geben wie "AnfügenWeitererDatensatzFallsVorhanden".
