• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Serienbrief mit OOo 2.0 ohne den Assistenten

Hallo allerseits,

ich bin gerade dabei eine Einladung zu schreiben. Jetzt wollte ich noch eine Kleinigkeit einbauen, die's in sich hat: Jeder soll seine persönliche Einladung (Anrede: Liebe Frau xxy, Lieber Herr xxy) bekommen. Das wäre ja über einen Seriendruck zu machen, oder?

Nun habe ich bereits schon die Einladung geschrieben und wollte nur noch das hinzufügen. Leider weiß ich nicht, wie ich manuell errreichen kann, dass er mir einen Serienbrief druckt (in PDF-Datei) und dabei auf das Geschlecht achtet (ist in SQL-Feld eingegeben, er soll halt den Text entsprechend dem aktuellen Datensatz angleichen.). Zudem wollte ich noch einen anderen Text, der von einer anderen Bedingung abhängt, nur auf den entsprechenden Einladungen gedruckt haben.

Wie mache ich das jetzt?

Danke schonmal im Voraus
Christian

PS: Die Verwendung des Assistenten kommt nicht in Frage, da dieser nur für wirkliche Briefe in Frage kommt und mir die gesamte Formatierung durcheinander bringen würde (hab ich schon kurz ausprobiert) und ich so alle einzelnen Dateien nachbearbeiten müsste.
 
Hallo

Ist zwar schon ein paar Tage alt, aber vielleicht noch aktuell?

Eine Datenbank hast du ja scheinbar. Dann solltest du mit

-> Einfügen -> Feldbefehl -> andere...

zu einem Fenster gelangen, wo du ganz rechts den Reiter "Datenbank" wählen kannst.

Wenn du dort unter "Feldtyp" "Seriendruck-Feld" wählst, gibts danach rechts davon die vorhandenen Datenbanken und deren Felder zur Auswahl. Diese kannst du in dein Dokument ziehen.

Gruss
hue
 
OK, das kenne ich. Geht auch, wenn man einfach mit F4 die Datenbanken aufmacht und dann einfach den Spaltenkopf in das Dokument zeiht. Das klappt auch wunderbar z.B. beim Namen.

Ich meinte oben eigentlich ein anderes Problem: Ich will schreiben "<Anrede> <Name>". <Name> ist einfach der Name der in der DB hinterlegt ist. => Wunderbar mit der oben genannten Möglichkeit zu lösen.
<Anrede> soll entweder "Lieber Herr" oder "Liebe Frau" sein, je nach Geschlecht. Das Geschlecht steht in dem DB-Feld 'weiblich' und ist (wer hätte es gedacht) 1 wenn die Person weiblich ist, sonst 0. Ich muss ihm also beibringen dieses Feld auszuwerten und abhängig vom Wert die entsprechende Anrede reinzuhauen.

Wichtig dabei ist aber: Es soll nicht über den Assistenten gehen. Das habe ich schon ausprobiert. Das ist lediglich ein Makro, das für jeden ausgewählten Datensatz das gesamte Dokument kopiert und unten anfügt. Änderungen an DB/Layout sind nicht mehr ohne größere manuelle Arbeiten möglich. Zudem ist der Assistent für die reine Erstellung von Briefen ausgelegt. Er legt standardmäßig einen Briefkopf o.ä. an. Da ist viel umzustellen, dass das einigermaßen brauchbare Ergebnisse liefert, insbesondere, wenn man eine individuelle Formatierung will.

MfG
Christian
 
Hallo

nach

-> Einfügen -> Feldbefehl -> andere...

gibts einen Reiter Funktionen und dort "bedingter Text".

Versuch mal unter Bedingung mit

bedingter Text: DeineDatenbank.DeineTabelle.weiblich=1
dann: Liebe Frau
sonst: Lieber Herr

Gruss
hue
 
Wenn ich das mache (Bedingung:"DB.Schule.Lehrer.Weiblich=1"; DB ist Name der eingerichteten SQL-Verbindung, Schule der der Datenbank, Lehrer ist die Tabelle und Weiblich ist der Feldname), kommt immer eine weibliche Anrede raus.

Was mache ich falsch? Muss ich irgendwas mit odbc: oder so davorstellen? Oder in <> einklammern?

MfG
Christian
 
versuch mal "1" statt der blossen Zahl

(hat bei mir funktioniert, allerdings mit einem wirklichen Textfeld).

Gruss
hue
 
Ich hab's mal mit verschiedenen Syntaxen probiert. Leider scheint keine Erfolg zu haben. Ich hab das Ergebnis meiner Versuche mal hochgestellt, in der Hoffnung, ihr seht vllt noch was ich vergessen habe.
Ich hab einfach nur 2 Datensätze ausgewählt und mal verschiedene Bedingungen, die logisch aussahen, eingegeben. Damit man sieht, was was war, stehen die noch in Roh-Text davor (Den Namen "DB" hab ich schon immer groß eingegeben, keine Angst. Das war die Autokorrektur von OOo).

Ich glaube immer noch, dass ich hier eine weitere Info geben muss, damit er alles richtig erkennt. Noch eine kurze Info: Ich verwende OOo 2.0. Dort gibt es die Sache mit den odb-Dateien, über die die Datenbank verbunden wird. Muss diese Datei nicht auch noch angegeben werden? Mir erschiene das logisch.

MfG
Christian
 
Hallo

ich schaffs auch grad nicht mehr. Vielleicht geben dir diese Links noch Hinweise:

http://www.linux-club.de/posting.php?mode=reply&t=60868
http://www.easylinux.de/Artikel/ausgabe/2003/07/038-musterbrief/

hier einer zu einem offensichtlich auch nur teilweise erfolgreichen Versuch:
http://www.ooo-portal.de/index.php?module=pnForum&func=viewtopic&topic=2824

Ansonsten bliebe noch die Möglichkeit, den Text mit einem zusätzlichen Feld ("Anrede") direkt in der Datenbank abzulegen.

Gruss
hue
 
noch ein Versuch.

Meine Adressdatenbank heisst Adressen.odb und hat eine Tabelle Adressbuch.

Mit dem bedingten Text

Adressen.Adressbuch.Vorname eq "Claudia"
dann: Liebe Claudia
sonst: Sehr geehrte Damen und Herren

erhält Claudia die richtige Anrede und alle anderen Sehr geehrte..

Mal sehen obs morgen auch noch so ist...

Gruss
hue
 
Hallo

habe noch ein wenig rumprobiert. Folgende drei Varianten führen alle zum gleichen (richtigen) Ergebnis, d.h. r wird geduckt wenn männlich, r wird nicht gedruckt wenn weiblich:

Bedingter Text[Adressen.Adressbuch.Geschlecht] eq "w" r:
Bedingter Text[Adressen.Adressbuch.Geschlecht] == "w" r:
Bedingter Text[Adressen.Adressbuch.Geschlecht] != "m" r:

(so siehts aus, wenn man sich die Feldnamen anzeigen lässt Ctrl-F9).


Das Feld Geschlecht ist in der Datenbank vom Typ Text (fix), Länge 1.

Die Hochkomma ("m") müssen gesetzt werden, sonst funktionierts nicht.

Man kann den Spaltenkopf in das Bedingungsfeld ziehen, dann ist die Feldreferenzierung mit Sicherheit richtig geschrieben.

Gruss
hue
 
Oben