Platzhalter in Dokument aus Datenbank

Das Textverarbeitungsprogramm

Moderator: Moderatoren

Woody
Beiträge: 3
Registriert: Do, 06.08.2009 21:52

Platzhalter in Dokument aus Datenbank

Beitrag von Woody »

Hallo zusammen,

ich möchte einige Musterbriefe (z.B. Mahnungen) erstellen, bei denen an vordefinierte Platzhalter Inhalte aus einer Datenbank hinterlegt werden, und zwar in Abhängigkeit eines Schlüsselwortes in dem Dokument.

Beispiel:
Betreff: Ihr Kundenkonto <KUNDENKONTO>

Sehr geehrte/r <ANREDE> <NAME>,

am <DATUM> forderten wir Sie auf, endlich den noch fälligen Betrag von <SCHULD> an uns zu überweisen. Sollten wir in den nächsten 7 Tagen keinen Zahlungseingang feststellen können, sehen wir keine andere Möglichkeit, als Sie mit einem Voodoo-Fluch zu belgen.

Mit freundlichen Grüßen

Zauberei- und Verwünschungsbedarf Knallefix
Mein Ziel ist nun, dass die in spitzen Klammern hinterlegten Schlüsselfelder durch eine Datenbankabfrage mit Leben gefüllt werden. Dabei soll auf den Datensatz, der über den Primärschlüssel <KUNDENKONTO> identifiziert ist, zugegriffen werden. Ich rufe also die Vorlage auf, trag in das Feld <KUNDENKONTO> beispielsweise 08154711 ein, drücke meinetwegen noch irgendwo auf einen Button und schon werden die anderen Felder mit den entsprechenden Daten gefüllt.

Welche Strategie wird hier am effektivsten zum Ziel führen? Wie würdet Ihr das als Experten machen?
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Re: Platzhalter in Dokument aus Datenbank

Beitrag von komma4 »

Ich mache das (als Nicht-Experte - halte mich für einen "erfahrenen Anwender") so, dass ich eine Abfrage in der ODB erstelle, die mir alle Felder liefert, die ich benötige.

Aus dem DB-Browser (F4) ziehe ich die Spaltenköpfe in eine Writer Vorlage. Nach dem Erstellen eines neuen Dokuments aus dieser Vorlage werde ich beim Drucken schon gefragt, ob ich einen Serienbrief erstellen möchte. Dann kann ich auswählen, ob ich alle -oder nur bestimmte- Datensätze (der Abfrage) verwenden möchte.


Meintest Du das?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Woody
Beiträge: 3
Registriert: Do, 06.08.2009 21:52

Re: Platzhalter in Dokument aus Datenbank

Beitrag von Woody »

Danke erstmal für den Tipp. Als Workaround ist diese Lösung sicher brauchbar, meine Anforderungen werden aber leider nicht vollständig abgedeckt. Das händische Aussuchen eines Datensatzes ist bei vielen Datensätzen sicher recht aufwändig. Was mich aber wirklich stört ist die nur temporäre Erstellung des Dokuments zum drucken - die Ergebnisse der Datenbankabfrage bleiben so einfach nicht dauerhaft erhalten. Ich denke ich bin hier an einem Punkt, wo ich um ein entsprechendes Makro nicht umherkomme. Ähnliches habe ich unter MS-Office schon mit Makros realisiert, auf den ersten Blick erscheint mir das OOo-Basic aber ungleich komplexer. Tja, ich werd mich da mal durchbeissen und ggf. meine Lösung dann hier veröffentlichen.

MfG
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Platzhalter in Dokument aus Datenbank

Beitrag von eBayer »

Hallo,
ich habe sowas auch schon mal mit ooBase realisiert.
1. Vorlage mit Feldnamen als Platzhalter erstellt.
2. Im Base-Formular drücke ich einen PushButton, der ein Makro zum drucken auslöst.
3. In dem Makro fülle ich manuell die Feldnamen der Vorlage mit den Inhalten des aktuellen Datensatzes.
4. Danach löst das Makro über eine Grundeinstellung gesteuert, den Druck mit oder ohne PreView aus.
Interesse?
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Platzhalter in Dokument aus Datenbank

Beitrag von pmoegenb »

Woody hat geschrieben:Danke erstmal für den Tipp. Als Workaround ist diese Lösung sicher brauchbar, meine Anforderungen werden aber leider nicht vollständig abgedeckt. Das händische Aussuchen eines Datensatzes ist bei vielen Datensätzen sicher recht aufwändig. Was mich aber wirklich stört ist die nur temporäre Erstellung des Dokuments zum drucken - die Ergebnisse der Datenbankabfrage bleiben so einfach nicht dauerhaft erhalten. Ich denke ich bin hier an einem Punkt, wo ich um ein entsprechendes Makro nicht umherkomme. Ähnliches habe ich unter MS-Office schon mit Makros realisiert, auf den ersten Blick erscheint mir das OOo-Basic aber ungleich komplexer. Tja, ich werd mich da mal durchbeissen und ggf. meine Lösung dann hier veröffentlichen.
komma4 hat von einer Abfrage geschrieben. Deshalb verstehe ich nicht, wie Du auf eine händische Datensatzauswahl kommst. In einer Abfrage werden von OOo Datensätze bereit gestellt deren Kriterien Du selbst festlegst. Die Datensätze der Abfrage werden im Seriendruckfenster aufbereitet und können dort nochmals nach Kriterien gefiltet werden.

Im Seriendruckfenster kann ferner festgelegt werden, ob die Ausgabe auf einen Drucker (z. b. auch PDF-Drucker) oder in eine Datei als ein Dokument oder als einzelne Dokumente erfolgen soll.

Noch komfortabaler gehts nach natürlich mit einem Makro wie von eBayer angeboten, wobei ich davon ausgehe, dass unter 3. das Makro die Feldnamen befüllt.
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Antworten