Discussion:
Mergefield \f Schalter funktioniert nicht in einer Wenn .. Dann .. Sonst Anweisung
(zu alt für eine Antwort)
Franz Zaufall
2009-11-12 11:41:12 UTC
Permalink
Hallo,

ich verwende WORD 2007 für meine Serienbriefe und habe darin folgende
Aufgabenstellung:
Ich habe eine Zeile mit mehreren Seriendruckfeldern bzw Text. Wenn eines
dieser Seriendruckfelder Null bzw. leer ist, soll die ganze Zeile
unterdrückt werden, wobei auch keine Leerzeile stehen bleiben darf.

Wenn nur ein Seriendruckfeld in einer Zeile steht lässt sich die
Zeilenschaltung mit dem \f Schalter unterdrücken, oder besser gesagt:
bei Nicht leer die Zeilenschaltung durchführen. Hier zäumt MS
offensichtlich das Problem von hinten auf :-(

Die Feldfunktion würde dann so aussehen:
{MERGEFIELD "xy" \f "CR"}{MERGEFIELD "von nächster Zeile"}
^keine Zeilenschaltung einfügen!
das CR steht für Zeilenschaltung

Wenn ich diesen \f Schalter in einer Wenn ... Dann ... Sonst Anweisung
verwende funktioniert das nicht! :-(
Ich habe auch schon zum Testen bei dem \f Schalter statt dem CR einen
Text eingegeben. Dieser wird im Falle von "nicht leer" auch nicht
ausgedruckt.

Zur Veranschaulichung ein Beispiel einer Zeile:

'Hier steht ein Text {MERGEFIELD "xy"}'

Wenn xy = Null / Leer soll gar keine Zeile ausgedruckt werden und auch
keine Leerzeile

Hat jemand eine Lösung?

Grüße
Franz
Lisa Wilke-Thissen
2009-11-12 14:11:06 UTC
Permalink
Hallo Franz,

"Franz Zaufall" schrieb

[Word 2007]
Post by Franz Zaufall
Ich habe eine Zeile mit mehreren Seriendruckfeldern bzw Text. Wenn eines
dieser Seriendruckfelder Null bzw. leer ist, soll die ganze Zeile
unterdrückt werden, wobei auch keine Leerzeile stehen bleiben darf.
wäre nett, wenn du ein Beispiel nennen würdest. Um wie viele
Seriendruckfelder handelt es sich und ist der statische Text zwischen den
Feldern verteilt oder en bloc z.B. am Ende?
Post by Franz Zaufall
Wenn nur ein Seriendruckfeld in einer Zeile
steht lässt sich die Zeilenschaltung mit dem \f Schalter unterdrücken,
oder besser gesagt: bei Nicht leer die Zeilenschaltung durchführen. Hier
zäumt MS offensichtlich das Problem von hinten auf :-(
MS geht weniger von Zeilen, sondern vielmehr von Absätzen aus. Entstehen
aufgrund leerer Seriendruckfelder leere Absätze (die MS dann als Leerzeilen
bezeichnet), werden sie standardmäßig nicht gedruckt - nachfolgende Inhalte
rücken entsprechend auf. Dagegen bedeutet es mehr Aufwand, so entstehende
leere Zeilen (= leere Absätze) nicht entfernen zu lassen.
Der Schalter \f soll im Prinzip ein Bedingungsfeld erübrigen. Er ist
vorrangig dazu gedacht, überflüssige Leerzeichen zu vermeiden, wenn einzelne
Seriendruckfelder leer sind bzw. automatisch ein erforderliches Leerzeichen
einzufügen (beispielsweise wenn es um nicht oder doch vorhandene Titel,
Vornamen etc. geht). Darüber hinaus bieten die Schalter \f und \b natürlich
weiteren Komfort.
Post by Franz Zaufall
Wenn ich diesen \f Schalter in einer Wenn ... Dann ... Sonst Anweisung
verwende funktioniert das nicht! :-(
Ich habe auch schon zum Testen bei dem \f Schalter statt dem CR einen Text
eingegeben. Dieser wird im Falle von "nicht leer" auch nicht ausgedruckt.
Du schreibst, dass sich mehrere Felder sowie statischer Text in einer Zeile
befinden. Sobald eins der Felder leer ist, soll die gesamte Zeile ignoriert
werden.
Entweder kommst du hier mit den Feldern IF und OR (oder AND) sowie COMPARE
weiter oder musst auf ein mehrfach verschachteltes Bedingungsfeld
zurückgreifen.
--
Viele Grüße

Lisa
MS MVP Word
Franz Zaufall
2009-11-12 16:33:21 UTC
Permalink
Hallo Lisa,
Post by Lisa Wilke-Thissen
Hallo Franz,
"Franz Zaufall" schrieb
[Word 2007]
Post by Franz Zaufall
Ich habe eine Zeile mit mehreren Seriendruckfeldern bzw Text. Wenn
eines dieser Seriendruckfelder Null bzw. leer ist, soll die ganze
Zeile unterdrückt werden, wobei auch keine Leerzeile stehen bleiben darf.
wäre nett, wenn du ein Beispiel nennen würdest. Um wie viele
Seriendruckfelder handelt es sich und ist der statische Text zwischen
den Feldern verteilt oder en bloc z.B. am Ende?
Beispiel Feldansicht:

{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von {MERGEFIELD
"Basis10"}{MERGEFIELD "Ust10"}" }
{IF {MERGEFIELD Ust20} = 0 "" "Ust 20% von {MERGEFIELD
"Basis20"}{MERGEFIELD "Ust20"}" }
{IF {MERGEFIELD BGGA} = 0 "" "Buchungsgebühr / Centausgleich {MERGEFIELD
"BGGA"}" }

Dazu das Ergebnis bei "Ust10"=9,75, "Ust20"=0 und "BGGA" = 1,02

Ust 10% von 97,51 9,75

Buchungsgebühr / Centausgleich 1,02
Post by Lisa Wilke-Thissen
Post by Franz Zaufall
Wenn nur ein Seriendruckfeld in einer Zeile
steht lässt sich die Zeilenschaltung mit dem \f Schalter unterdrücken,
oder besser gesagt: bei Nicht leer die Zeilenschaltung durchführen.
Hier zäumt MS offensichtlich das Problem von hinten auf :-(
MS geht weniger von Zeilen, sondern vielmehr von Absätzen aus. Entstehen
aufgrund leerer Seriendruckfelder leere Absätze (die MS dann als
Leerzeilen bezeichnet), werden sie standardmäßig nicht gedruckt -
nachfolgende Inhalte rücken entsprechend auf. Dagegen bedeutet es mehr
Aufwand, so entstehende leere Zeilen (= leere Absätze) nicht entfernen
zu lassen.
Also, ich habe beide Varianten ausprobiert:
1. Abschluss der Zeile mit Zeilenschaltung = [STRG]+[ENTER]
2. Abschluss der Zeile (Absatz) mit [ENTER]
Das Ergebnis bleibt das Selbe.
Post by Lisa Wilke-Thissen
Der Schalter \f soll im Prinzip ein Bedingungsfeld erübrigen. Er ist
vorrangig dazu gedacht, überflüssige Leerzeichen zu vermeiden, wenn
einzelne Seriendruckfelder leer sind bzw. automatisch ein erforderliches
Leerzeichen einzufügen (beispielsweise wenn es um nicht oder doch
vorhandene Titel, Vornamen etc. geht). Darüber hinaus bieten die
Schalter \f und \b natürlich weiteren Komfort.
Post by Franz Zaufall
Wenn ich diesen \f Schalter in einer Wenn ... Dann ... Sonst Anweisung
verwende funktioniert das nicht! :-(
Ich habe auch schon zum Testen bei dem \f Schalter statt dem CR einen
Text eingegeben. Dieser wird im Falle von "nicht leer" auch nicht
ausgedruckt.
Du schreibst, dass sich mehrere Felder sowie statischer Text in einer
Zeile befinden. Sobald eins der Felder leer ist, soll die gesamte Zeile
ignoriert werden.
Entweder kommst du hier mit den Feldern IF und OR (oder AND) sowie
COMPARE weiter oder musst auf ein mehrfach verschachteltes
Bedingungsfeld zurückgreifen.
Wie du im Beispiel siehst ist das letzte (rechte) Seriendruckfeld gleich
das gleiche wie in der IF-Anweisung.
Ich dachte daher dass der \f Schalter funktionieren könnte, weil es die
letzte Anweisung in der Zeile ist.

So sollte es aussehen, wenn der \f Schalter in der IF-Anweisung
funktionieren würde (ich habe cr für die Zeilenschaltung gewählt):

{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von {MERGEFIELD
"Basis10"}{MERGEFIELD "Ust10" \f "cr"}" }{IF {MERGEFIELD Ust20} = 0 ""
"Ust 20% von {MERGEFIELD "Basis20"}{MERGEFIELD "Ust20" \f "cr"}" }{IF
{MERGEFIELD BGGA} = 0 "" "Buchungsgebühr / Centausgleich {MERGEFIELD
"BGGA" \f "cr"}" }

abgesehen, dass es grausig ist diese Wurscht zu editieren, funktioniert
es auch nicht.
Ich hoffe, dass die aut. Zeilenumbrüche in diesem Editor nicht das
Beispiel unlesbar macht.
LG,
Franz
Lisa Wilke-Thissen
2009-11-13 08:30:26 UTC
Permalink
Hallo Franz,

"Franz Zaufall" schrieb

[Word 2007]
Post by Franz Zaufall
Ich habe eine Zeile mit mehreren Seriendruckfeldern bzw Text. Wenn eines
dieser Seriendruckfelder Null bzw. leer ist, soll die ganze Zeile
unterdrückt werden, wobei auch keine Leerzeile stehen bleiben darf.
"Null bzw. leer" ist nicht eindeutig. Kann ein Feld einen positiven Wert
oder eine Null enthalten oder auch leer sein? Das wären drei verschiedene
Möglichkeiten.
{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von {MERGEFIELD "Basis10"}
{MERGEFIELD "Ust10"}" }
{IF {MERGEFIELD Ust20} = 0 "" "Ust 20% von {MERGEFIELD "Basis20"}
{MERGEFIELD "Ust20"}" }
{IF {MERGEFIELD BGGA} = 0 "" "Buchungsgebühr / Centausgleich {MERGEFIELD
"BGGA"}" }
Statischen Text sehe ich hier nicht, lediglich Feldfunktionen, nämlich
Bedingungsfelder. Diese befinden sich in einer Zeile?
Dazu das Ergebnis bei "Ust10"=9,75, "Ust20"=0 und "BGGA" = 1,02
Ust 10% von 97,51 9,75
Buchungsgebühr/Centausgleich 1,02
Es soll ein Ergebnis erscheinen, obwohl eines der Felder (Ust20) gleich Null
ist? Du sagtest anfangs, die gesamte Zeile solle entfallen, sobald eines der
Felder gleich Null oder leer ist.
War wohl ein Missverständnis? Felder mit Inhalt >0 sollen auf jeden Fall
ausgewertet werden?
Entstehen aufgrund leerer Seriendruckfelder leere Absätze (die MS dann
als Leerzeilen bezeichnet), werden sie standardmäßig nicht gedruckt -
nachfolgende Inhalte rücken entsprechend auf.
1. Abschluss der Zeile mit Zeilenschaltung = [STRG]+[ENTER]
Strg+Eingabe bewirkt einen Seitenwechsel. Ich gehe davon aus, dass du
Umschalt+Eingabe meinst.
2. Abschluss der Zeile (Absatz) mit [ENTER]
Das Ergebnis bleibt das Selbe.
In deinen Tests stimmten vermutlich die Voraussetzungen nicht. In früheren
Wordversionen konnte bereits *gewählt* werden, ob die durch leere Felder
entstehenden Zeilen (gemeint sind aber "Absätze") unterdrückt werden sollen.
Ab Word 2002 werden sie automatisch unterdrückt. Will man genau dies nicht,
muss man den alten Befehl wieder hervorholen und in eine Symbolleiste
integriereren. Sind alle in einem Absatz enthaltenen Felder leer und ist
auch kein statischer Inhalt (z.B. Leerzeichen zwischen den Feldern)
vorhanden, wird dieser Absatz standardmäßig ausgeblendet und nicht gedruckt.
Post by Franz Zaufall
Wenn ich diesen \f Schalter in einer Wenn ... Dann ... Sonst Anweisung
verwende funktioniert das nicht! :-(
Kann ich nicht nachvollziehen. Hast du das, was dem Schalter folgen soll,
auch in Anführungszeichen gesetzt?
So sollte es aussehen, wenn der \f Schalter in der IF-Anweisung
{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von {MERGEFIELD
"Basis10"}{MERGEFIELD "Ust10" \f "cr"}" }{IF {MERGEFIELD Ust20} = 0 ""
"Ust 20% von {MERGEFIELD "Basis20"}
{MERGEFIELD "Ust20" \f "cr"}" }{IF {MERGEFIELD BGGA} = 0 ""
"Buchungsgebühr / Centausgleich {MERGEFIELD "BGGA" \f "cr"}" }
Mir fehlt die Zeit, das Beispiel nachzubauen, da bräuchte ich schon das
Original.
1. Die Feldnamen müssen nicht in Anführungszeichen gesetzt werden. Du kannst
erkennen, dass Word selbst das nicht tut, wenn man ein Bedingungsfeld über
"Sendungen | Regeln | Wenn... Dann... Sonst..." aufbaut.
2. Vermutlich könntest du die Bedingung anders formulieren:
Wenn Ust10 ungleich Null, dann "Ust...",
sonst prüfe
Wenn Ust20 ungleich Null, dann "Ust...",
sonst ...

Nach Möglichkeit würde ich solche Bedingungen jedoch schon in der
Datenquelle abarbeiten und dem Seriendruck das fertige Ergebnis übergeben.
--
Viele Grüße

Lisa
MS MVP Word
Franz Zaufall
2009-11-16 08:43:05 UTC
Permalink
Hallo Lisa,

da ich mit diesem Projekt vorankommen muß, habe ich die entsprechende Zeile bereits im A07 mit folgender Function generiert:

Function Kost_Zeile(Kost As Variant, UProz As Variant, Betrag As Variant) As String
If IsNull(Betrag) Or Betrag = 0 Then Exit Function
Kost_Zeile = Kost & Chr(9) & UProz & Chr(9) & Format(Betrag, "##,##0.00")
End Function

damit funktioniert vorläufig die Unterdrückung der gesamten Zeile bei der Bedingung Betrag = 0.

Sollte aber ledigliuch ein workaround sein, da ja die freie Gestaltung für den Anwender auf diese Art verloren geht. Da könnte ich
diesen Serienbrief schon fast durch einen Bericht im A07 durchführen.

Solltest du hier noch eine Lösung mit der If-Bedingung finden wäre ich sehr dankbar.

LG,
Franz
Post by Lisa Wilke-Thissen
Hallo Franz,
"Franz Zaufall" schrieb
[Word 2007]
Post by Franz Zaufall
Ich habe eine Zeile mit mehreren Seriendruckfeldern bzw Text. Wenn
eines dieser Seriendruckfelder Null bzw. leer ist, soll die ganze
Zeile unterdrückt werden, wobei auch keine Leerzeile stehen bleiben darf.
"Null bzw. leer" ist nicht eindeutig. Kann ein Feld einen positiven Wert
oder eine Null enthalten oder auch leer sein? Das wären drei
verschiedene Möglichkeiten.
{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von {MERGEFIELD "Basis10"}
{MERGEFIELD "Ust10"}" }
{IF {MERGEFIELD Ust20} = 0 "" "Ust 20% von {MERGEFIELD "Basis20"}
{MERGEFIELD "Ust20"}" }
{IF {MERGEFIELD BGGA} = 0 "" "Buchungsgebühr / Centausgleich
{MERGEFIELD "BGGA"}" }
Statischen Text sehe ich hier nicht, lediglich Feldfunktionen, nämlich
Bedingungsfelder. Diese befinden sich in einer Zeile?
Dazu das Ergebnis bei "Ust10"=9,75, "Ust20"=0 und "BGGA" = 1,02
Ust 10% von 97,51 9,75
Buchungsgebühr/Centausgleich 1,02
Es soll ein Ergebnis erscheinen, obwohl eines der Felder (Ust20) gleich
Null ist? Du sagtest anfangs, die gesamte Zeile solle entfallen, sobald
eines der Felder gleich Null oder leer ist.
War wohl ein Missverständnis? Felder mit Inhalt >0 sollen auf jeden Fall
ausgewertet werden?
Entstehen aufgrund leerer Seriendruckfelder leere Absätze (die MS
dann als Leerzeilen bezeichnet), werden sie standardmäßig nicht
gedruckt - nachfolgende Inhalte rücken entsprechend auf.
1. Abschluss der Zeile mit Zeilenschaltung = [STRG]+[ENTER]
Strg+Eingabe bewirkt einen Seitenwechsel. Ich gehe davon aus, dass du
Umschalt+Eingabe meinst.
2. Abschluss der Zeile (Absatz) mit [ENTER]
Das Ergebnis bleibt das Selbe.
In deinen Tests stimmten vermutlich die Voraussetzungen nicht. In
früheren Wordversionen konnte bereits *gewählt* werden, ob die durch
leere Felder entstehenden Zeilen (gemeint sind aber "Absätze")
unterdrückt werden sollen. Ab Word 2002 werden sie automatisch
unterdrückt. Will man genau dies nicht, muss man den alten Befehl wieder
hervorholen und in eine Symbolleiste integriereren. Sind alle in einem
Absatz enthaltenen Felder leer und ist auch kein statischer Inhalt (z.B.
Leerzeichen zwischen den Feldern) vorhanden, wird dieser Absatz
standardmäßig ausgeblendet und nicht gedruckt.
Post by Franz Zaufall
Wenn ich diesen \f Schalter in einer Wenn ... Dann ... Sonst
Anweisung verwende funktioniert das nicht! :-(
Kann ich nicht nachvollziehen. Hast du das, was dem Schalter folgen
soll, auch in Anführungszeichen gesetzt?
So sollte es aussehen, wenn der \f Schalter in der IF-Anweisung
{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von {MERGEFIELD
"Basis10"}{MERGEFIELD "Ust10" \f "cr"}" }{IF {MERGEFIELD Ust20} = 0 ""
"Ust 20% von {MERGEFIELD "Basis20"}
{MERGEFIELD "Ust20" \f "cr"}" }{IF {MERGEFIELD BGGA} = 0 ""
"Buchungsgebühr / Centausgleich {MERGEFIELD "BGGA" \f "cr"}" }
Mir fehlt die Zeit, das Beispiel nachzubauen, da bräuchte ich schon das
Original.
1. Die Feldnamen müssen nicht in Anführungszeichen gesetzt werden. Du
kannst erkennen, dass Word selbst das nicht tut, wenn man ein
Bedingungsfeld über "Sendungen | Regeln | Wenn... Dann... Sonst..."
aufbaut.
Wenn Ust10 ungleich Null, dann "Ust...",
sonst prüfe
Wenn Ust20 ungleich Null, dann "Ust...",
sonst ...
Nach Möglichkeit würde ich solche Bedingungen jedoch schon in der
Datenquelle abarbeiten und dem Seriendruck das fertige Ergebnis übergeben.
Robert M. Franz [RMF]
2009-11-17 07:36:52 UTC
Permalink
Hallo Franz
Post by Franz Zaufall
da ich mit diesem Projekt vorankommen muß, habe ich die entsprechende
Function Kost_Zeile(Kost As Variant, UProz As Variant, Betrag As Variant) As String
If IsNull(Betrag) Or Betrag = 0 Then Exit Function
Kost_Zeile = Kost & Chr(9) & UProz & Chr(9) & Format(Betrag, "##,##0.00")
End Function
damit funktioniert vorläufig die Unterdrückung der gesamten Zeile bei
der Bedingung Betrag = 0.
Sollte aber ledigliuch ein workaround sein, da ja die freie Gestaltung
für den Anwender auf diese Art verloren geht. Da könnte ich diesen
Serienbrief schon fast durch einen Bericht im A07 durchführen.
warum kannst Du das nicht ohnehin? Wenn Dir die
Formatierungsmöglichkeiten in Access genügen, und die Serienbriefe nicht
in Word nachbearbeitet werden müssen, würde ich das vorziehen.
Anderenfalls ist Deine Lösung auch nicht schlecht: so viel Logik wie
möglich in der DB.
Post by Franz Zaufall
Solltest du hier noch eine Lösung mit der If-Bedingung finden wäre ich sehr dankbar.
Du _kannst_ das sicher auch per IF-Feldverkettung lösen. Aber ich glaube
nicht, dass das für den Unterhalt einfacher ist.

{ IF <Bedingung1> "{ IF <Bedingung2> "{ IF <Bedingung3> "hier kommt
Deine ganze Zeile hin mit allen Serienbrieffeldern, statischem Text,
etc. INKLUSIVE nachfolgender Absatzmarke" }" "" }" "" }

Beachte: am Ende dieses ganzen Ausdrucks kommt dann _nicht_ eine weitere
Absatzmarke, sondern hier beginnt gleich der "neue Absatz" ...

Gruss
Robert
--
/"\ ASCII Ribbon Campaign | MSFT |
\ / | MVP | Scientific Reports
X Against HTML | for | with Word?
/ \ in e-mail & news | Word | http://www.masteringword.eu/
Franz Zaufall
2009-11-17 09:25:07 UTC
Permalink
Hallo Robert,
Post by Lisa Wilke-Thissen
Hallo Franz
Post by Franz Zaufall
da ich mit diesem Projekt vorankommen muß, habe ich die entsprechende
Function Kost_Zeile(Kost As Variant, UProz As Variant, Betrag As Variant) As String
If IsNull(Betrag) Or Betrag = 0 Then Exit Function
Kost_Zeile = Kost & Chr(9) & UProz & Chr(9) & Format(Betrag, "##,##0.00")
End Function
damit funktioniert vorläufig die Unterdrückung der gesamten Zeile bei
der Bedingung Betrag = 0.
Sollte aber ledigliuch ein workaround sein, da ja die freie Gestaltung
für den Anwender auf diese Art verloren geht. Da könnte ich diesen
Serienbrief schon fast durch einen Bericht im A07 durchführen.
warum kannst Du das nicht ohnehin? Wenn Dir die
Formatierungsmöglichkeiten in Access genügen, und die Serienbriefe nicht
in Word nachbearbeitet werden müssen, würde ich das vorziehen.
Anderenfalls ist Deine Lösung auch nicht schlecht: so viel Logik wie
möglich in der DB.
Da bin ich nicht deiner Meinung!
Wenn ich alles in die Datenbank packe bleibt die dem Enduser gestattete freie Bearbeitung des Serienbriefhauptdokumentes auf der
Strecke.
Datenbank sollte beim Programmierer bleiben - Ausdruckgestaltung beim Enduser bzw. EnduserAdmin.
Post by Lisa Wilke-Thissen
Post by Franz Zaufall
Solltest du hier noch eine Lösung mit der If-Bedingung finden wäre ich sehr dankbar.
Du _kannst_ das sicher auch per IF-Feldverkettung lösen. Aber ich glaube
nicht, dass das für den Unterhalt einfacher ist.
{ IF <Bedingung1> "{ IF <Bedingung2> "{ IF <Bedingung3> "hier kommt
Deine ganze Zeile hin mit allen Serienbrieffeldern, statischem Text,
etc. INKLUSIVE nachfolgender Absatzmarke" }" "" }" "" }
Beachte: am Ende dieses ganzen Ausdrucks kommt dann _nicht_ eine weitere
Absatzmarke, sondern hier beginnt gleich der "neue Absatz" ...
Diese endlosen If-Verkettungen sind dem EndUser leider auch nicht zuzutrauen.
Leider funktioniert die LeerAbsatzunterdrückung NICHT wenn das Ergebnis einer If-Verkettung ein leeres Feld ist. Siehe mein Beispiel.
Dieses Verhalten ist für mich weder erklärbar und logisch nicht nachvollziehbar.
Ist aber sicher nicht die einzige Eigenheit in diesem Programm:-(

Gruß
Franz
Post by Lisa Wilke-Thissen
Gruss
Robert
Robert M. Franz [RMF]
2009-11-17 10:32:25 UTC
Permalink
Hallo Franz

Franz Zaufall wrote:
[..]
Post by Franz Zaufall
Da bin ich nicht deiner Meinung!
Wenn ich alles in die Datenbank packe bleibt die dem Enduser gestattete
freie Bearbeitung des Serienbriefhauptdokumentes auf der Strecke.
Datenbank sollte beim Programmierer bleiben - Ausdruckgestaltung beim
Enduser bzw. EnduserAdmin.
"fair enough", solange wir wirklich von Gestaltung reden. Hier haben wir
es aber mit Logik zu tun. Die willst Du dem User offenbar nicht zumuten,
deshalb musst Du sie in der DB lösen.


[..]
Post by Franz Zaufall
Post by Robert M. Franz [RMF]
{ IF <Bedingung1> "{ IF <Bedingung2> "{ IF <Bedingung3> "hier kommt
Deine ganze Zeile hin mit allen Serienbrieffeldern, statischem Text,
etc. INKLUSIVE nachfolgender Absatzmarke" }" "" }" "" }
Beachte: am Ende dieses ganzen Ausdrucks kommt dann _nicht_ eine
weitere Absatzmarke, sondern hier beginnt gleich der "neue Absatz" ...
Diese endlosen If-Verkettungen sind dem EndUser leider auch nicht zuzutrauen.
Leider funktioniert die LeerAbsatzunterdrückung NICHT wenn das Ergebnis
einer If-Verkettung ein leeres Feld ist. Siehe mein Beispiel.
sie funktioniert definitiv, wenn Du die Absatzmarke in die Feldschachtel
nimmst -- oder Deine Bedingungen sind nicht korrekt.

Gruss
Robert
--
/"\ ASCII Ribbon Campaign | MSFT |
\ / | MVP | Scientific Reports
X Against HTML | for | with Word?
/ \ in e-mail & news | Word | http://www.masteringword.eu/
Lisa Wilke-Thissen
2009-11-17 11:25:59 UTC
Permalink
Hallo Franz,

"Franz Zaufall" schrieb

[Word 2007]
Ich habe jetzt sehr viel herumgetestet und
ein kleines Beispiel gebastelt. Siehe Anhang.
auch hier noch einmal der Hinweis, dass Anlagen in Newsgroups erstens nicht
erwünscht sind und dass zweitens viele Newsserver solche Beiträge gar nicht
anzeigen.
Post by Lisa Wilke-Thissen
Post by Franz Zaufall
{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von
{MERGEFIELD "Basis10"}{MERGEFIELD "Ust10"}" }
{IF {MERGEFIELD Ust20} = 0 "" "Ust 20% von
{MERGEFIELD "Basis20"} {MERGEFIELD "Ust20"}" }
{IF {MERGEFIELD BGGA} = 0 "" "Buchungsgebühr /
Centausgleich {MERGEFIELD "BGGA"}" }
"Ust 10% von" ist der statische Text.
In der Zeile bzw. im Absatz befindet sich kein statischer Text, sondern
lediglich eine Feldfunktion, nämlich das Bedingungsfeld. Das Erscheinen des
Textes ist hier ja abhängig vom Wahrheitswert.
Post by Lisa Wilke-Thissen
Nach Möglichkeit würde ich solche
Bedingungen jedoch schon in der
Datenquelle abarbeiten und dem
Seriendruck das fertige Ergebnis
übergeben.
Wie soll das funktionieren? Hab ja auch
statischen Text drinnen, den der User
ändern kann.
Was soll der Anwender konkret ändern können - den fertigen Serienbrief oder
bereits das Hauptdokument?
--
Viele Grüße

Lisa
MS MVP Word
Wissenschaftliche[s] Arbeiten mit Word 2007:
http://tinyurl.com/yzg3axw
Franz Zaufall
2009-11-17 14:46:56 UTC
Permalink
Hallo Lisa,
Post by Lisa Wilke-Thissen
auch hier noch einmal der Hinweis, dass Anlagen in Newsgroups erstens
nicht erwünscht sind und dass zweitens viele Newsserver solche Beiträge
gar nicht anzeigen.
Sorry, kenn mich mit den Forengepflogenheiten nicht so aus und bei deiner letzten Antwort hast du gemeint, dass du das
Orginalbeispiel dazu benötigtst. Wie hätte ich dir das sonst zukommen lassen können ausser als Anhang?
Post by Lisa Wilke-Thissen
Post by Franz Zaufall
{IF {MERGEFIELD Ust10} = 0 "" "Ust 10% von
{MERGEFIELD "Basis10"}{MERGEFIELD "Ust10"}" }
{IF {MERGEFIELD Ust20} = 0 "" "Ust 20% von
{MERGEFIELD "Basis20"} {MERGEFIELD "Ust20"}" }
{IF {MERGEFIELD BGGA} = 0 "" "Buchungsgebühr /
Centausgleich {MERGEFIELD "BGGA"}" }
"Ust 10% von" ist der statische Text.
In der Zeile bzw. im Absatz befindet sich kein statischer Text, sondern
lediglich eine Feldfunktion, nämlich das Bedingungsfeld. Das Erscheinen
des Textes ist hier ja abhängig vom Wahrheitswert.
Da habe ich ja bereits den statischen Text in die If-Bedingung hereingenommen.
Post by Lisa Wilke-Thissen
Was soll der Anwender konkret ändern können - den fertigen Serienbrief
oder bereits das Hauptdokument?
Das Hauptdokument, soweit zumutbar. Wenn er z.B. den Text "Buchungsgebühr / Centausgleich" (siehe Beispiel oben) ändern will,
könnte er das im Hauptdokument selber ändern. Nachdem das in der A07-DB zusammengesetzt wird ist das nicht mehr für ihn möglich,
Gruß
Franz
Lisa Wilke-Thissen
2009-11-17 16:34:46 UTC
Permalink
Hallo Franz,

"Franz Zaufall" schrieb
Post by Franz Zaufall
Sorry, kenn mich mit den Forengepflogenheiten
nicht so aus und bei deiner letzten Antwort hast du gemeint, dass du das
Orginalbeispiel dazu benötigtst. Wie hätte ich dir das sonst zukommen
lassen können ausser als Anhang?
beispielsweise mit persönlicher E-Mail oder auf einer Webseite zur Verfügung
stellen.
Post by Franz Zaufall
Post by Lisa Wilke-Thissen
In der Zeile bzw. im Absatz befindet sich kein statischer Text, sondern
lediglich eine Feldfunktion, nämlich das Bedingungsfeld. Das Erscheinen
des Textes ist hier ja abhängig vom Wahrheitswert.
Da habe ich ja bereits den statischen Text in die If-Bedingung
hereingenommen.
Und genau das ist ein Unterschied. Soll ich ein Problem nachstellen und
eventuell lösen, muss ich wissen, ob sich statischer Text zwischen den
(Seriendruck-)Feldern befindet oder ob der Text feldabhängig erscheint oder
verschwindet. Die Herangehensweise kann jeweils eine ganz andere sein. Kein
Leser kann dem Fragesteller über die Schulter sehen. Und mit einer Glaskugel
wissen auch die wenigsten umzugehen ;-). Insofern sind konkrete
Informationen wünschenswert, die unnötige Rückfragen ersparen.
Post by Franz Zaufall
Post by Lisa Wilke-Thissen
Was soll der Anwender konkret ändern können - den fertigen Serienbrief
oder bereits das Hauptdokument?
Das Hauptdokument, soweit zumutbar. Wenn er z.B. den Text "Buchungsgebühr
/ Centausgleich" (siehe Beispiel oben) ändern will, könnte er das im
Hauptdokument selber ändern. Nachdem das in der A07-DB zusammengesetzt
wird ist das nicht mehr für ihn möglich,
Stimmt, dann müsste er den fertigen Serienbrief überarbeiten.
Kommst du mit dem Lösungsansatz aus meiner anderen Antwort klar?
--
Viele Grüße

Lisa
MS MVP Word
Franz Zaufall
2009-11-18 18:03:58 UTC
Permalink
Hallo Lisa,
Post by Lisa Wilke-Thissen
Und genau das ist ein Unterschied. Soll ich ein Problem nachstellen und
eventuell lösen, muss ich wissen, ob sich statischer Text zwischen den
(Seriendruck-)Feldern befindet oder ob der Text feldabhängig erscheint
oder verschwindet. Die Herangehensweise kann jeweils eine ganz andere
sein. Kein Leser kann dem Fragesteller über die Schulter sehen. Und mit
einer Glaskugel wissen auch die wenigsten umzugehen ;-). Insofern sind
konkrete Informationen wünschenswert, die unnötige Rückfragen ersparen.
Ich dachre, dass ich das Problem im Eröffnungstext eindeutigt beschrieben habe:
"Ich habe eine Zeile mit mehreren Seriendruckfeldern bzw Text. Wenn eines dieser Seriendruckfelder Null bzw. leer ist, soll die
ganze Zeile unterdrückt werden, wobei auch keine Leerzeile stehen bleiben darf. "

Ist dieser Satz nicht Erklärung genug??????
Post by Lisa Wilke-Thissen
Post by Franz Zaufall
Post by Lisa Wilke-Thissen
Was soll der Anwender konkret ändern können - den fertigen
Serienbrief oder bereits das Hauptdokument?
Das Hauptdokument, soweit zumutbar. Wenn er z.B. den Text
"Buchungsgebühr / Centausgleich" (siehe Beispiel oben) ändern will,
könnte er das im Hauptdokument selber ändern. Nachdem das in der
A07-DB zusammengesetzt wird ist das nicht mehr für ihn möglich,
Stimmt, dann müsste er den fertigen Serienbrief überarbeiten.
Kommst du mit dem Lösungsansatz aus meiner anderen Antwort klar?
Den fertigen Serienbrief überarbeiten würde heissen ca. 2500 Exemplare ändern.
Ich habe meinen Kunden jetzt davon überzeugen können, dass diese Zeilen nicht von Ihm editierbar sind. Wenn hier eine Änderung
notwendig werden, werde ich das per remote Zugriff durchführen.

LG,
Franz
Lisa Wilke-Thissen
2009-11-18 20:11:06 UTC
Permalink
Hallo Franz,

"Franz Zaufall" schrieb

[Word 2007]
Post by Franz Zaufall
"Ich habe eine Zeile mit mehreren Seriendruckfeldern bzw Text. Wenn eines
dieser Seriendruckfelder Null bzw. leer ist, soll die ganze Zeile
unterdrückt werden, wobei auch keine Leerzeile stehen bleiben darf. "
Ist dieser Satz nicht Erklärung genug?
nicht wirklich. Für mich war schon unklar, ob du tatsächlich Zeile oder
Absatz meinst.
Und aus deinem zugesandten Beispiel lässt sich nicht erschließen, dass der
gesamte Absatz entfallen soll, sobald *eines* der Seriendruckfelder leer ist
(was der Ausgangstext vermittelt). Für mich sieht es eher so aus, dass die
beiden anderen Felder trotzdem ausgewertet werden sollen.
Post by Franz Zaufall
Ich habe meinen Kunden jetzt davon überzeugen können, dass diese Zeilen
nicht von Ihm editierbar sind. Wenn hier eine Änderung notwendig werden,
werde ich das per remote Zugriff durchführen.
Okay, ist vermutlich die einfachere Lösung.
--
Viele Grüße

Lisa
MS MVP Word
Wissenschaftliche[s] Arbeiten mit Word 2007:
http://tinyurl.com/yzg3axw
Lisa Wilke-Thissen
2009-11-17 13:05:57 UTC
Permalink
Hallo Franz,

"Franz Zaufall" schrieb

[Word 2007]
1. Ich habe im W2007 das mit der Zeile /
Absatz mit einem ganz simplen Serienbrief
getestet.
Ja, bei Absatzmarken und leeren Feldern
wird die Leerzeile unterdrückt.
der leere *Absatz* wird unterdrückt. Um weitere Missverständnisse zu
vermeiden, bleib bitte bei einer eindeutigen Ausdrucksweise.
Ich habe jetzt sehr viel herumgetestet
und ein kleines Beispiel gebastelt.
Deine Beispieldatei enthält unter anderem:
(# = Tabulator, ## = Absatz)

1. {If{Mergefield Ust10}=0 ""
"Ust10%#{Mergefield Ust10}"}##

{If{Mergefield Ust10}=0 ""
"Ust20%#{Mergefield Ust20}"}##

Lösung hierfür könnte sein:

{If{Mergefield Ust10}<> 0
"{Mergefield Ust10 \b "Ust10%[#]
\f "##"}"}
{If{Mergefield Ust20}<> 0
"{Mergefield Ust20 \b "Ust20%[#]"
\f "##"}"}

Das dritte Bedingungsfeld analog direkt dahinter anfügen, aber *keine*
Absatzmarken *zwischen* den Bedingungsfeldern einfügen.
--
Viele Grüße

Lisa
MS MVP Word
Wissenschaftliche[s] Arbeiten mit Word 2007:
http://tinyurl.com/yzg3axw
Jörg Burzeja
2009-11-18 19:20:27 UTC
Permalink
Post by Lisa Wilke-Thissen
Nach Möglichkeit würde ich solche Bedingungen jedoch schon in der
Datenquelle abarbeiten und dem Seriendruck das fertige Ergebnis übergeben.
Was ist denn die Datenquelle? Ich habe hierzu nichts gefunden - oder es
überlesen.
--
Viele Grüsse

Jörg
Lisa Wilke-Thissen
2009-11-18 20:12:56 UTC
Permalink
Hallo Jörg,

"Jörg Burzeja" schrieb
Post by Jörg Burzeja
Post by Lisa Wilke-Thissen
Nach Möglichkeit würde ich solche Bedingungen jedoch schon in der
Datenquelle abarbeiten und dem Seriendruck das fertige Ergebnis übergeben.
Was ist denn die Datenquelle? Ich habe hierzu nichts gefunden - oder es
überlesen.
ich hatte zunächst Excel vermutet. Es ist aber wohl Access. In Excel würde
ich eine zusätzliche Spalte verwenden, in Access eine Abfrage.
--
Viele Grüße

Lisa
MS MVP Word
Jörg Burzeja
2009-11-18 20:59:57 UTC
Permalink
Post by Lisa Wilke-Thissen
Post by Jörg Burzeja
Post by Lisa Wilke-Thissen
Nach Möglichkeit würde ich solche Bedingungen jedoch schon in der
Datenquelle abarbeiten und dem Seriendruck das fertige Ergebnis übergeben.
Was ist denn die Datenquelle? Ich habe hierzu nichts gefunden - oder
es überlesen.
ich hatte zunächst Excel vermutet. Es ist aber wohl Access. In Excel
würde ich eine zusätzliche Spalte verwenden, in Access eine Abfrage.
Nun denn, vielleicht mag der OP ja mal aufklären, um mal *vollständig*
die Rahmenbedingungen mitzuteilen, für die er eine Lösung wünscht.

So schwierig ist das ja nicht.

Insoweit nützt auch keine eindeutige Problembeschreibung.
--
Viele Grüsse

Jörg
Franz Zaufall
2009-11-19 20:03:08 UTC
Permalink
Hallo Jörg,

Die Datenquelle ist eine Abfrage in Access. Das Beispiel, das ich leider in das Forum mitgeschickt habe, zeigt, dass es sich um
eine A07-Datenquelle handelt. Ich habe jetzt diese Betreffenden Zeilen in der Abfrage mit einer Wenn-Bedingung gelöst; d.h. wenn
die Bedingung zutrifft ist das Ergebnis dieses Abfragefeldes Leer und damit wird dieser Absatz im Serienbrief unterdrückt. Ist
zwar nicht die optimale Lösung, da die freie Bearbeitung des Serienbriefhauptdokumentes für den Enduser auf der Strecke bleibt,
aber noch immer besser als endlos veschachtelte If-Bedingungen. Bis jetzt ist es mir nicht erklärbar, warum ein Ergebnis in der
If-Bedingung = Leer/Null nicht auch den Absatz unterdrückt...

Gruß
Franz
Post by Jörg Burzeja
Post by Lisa Wilke-Thissen
Post by Jörg Burzeja
Post by Lisa Wilke-Thissen
Nach Möglichkeit würde ich solche Bedingungen jedoch schon in der
Datenquelle abarbeiten und dem Seriendruck das fertige Ergebnis übergeben.
Was ist denn die Datenquelle? Ich habe hierzu nichts gefunden - oder
es überlesen.
ich hatte zunächst Excel vermutet. Es ist aber wohl Access. In Excel
würde ich eine zusätzliche Spalte verwenden, in Access eine Abfrage.
Nun denn, vielleicht mag der OP ja mal aufklären, um mal *vollständig*
die Rahmenbedingungen mitzuteilen, für die er eine Lösung wünscht.
So schwierig ist das ja nicht.
Insoweit nützt auch keine eindeutige Problembeschreibung.
Jörg Burzeja
2009-11-19 21:43:16 UTC
Permalink
Post by Franz Zaufall
Die Datenquelle ist eine Abfrage in Access. Das Beispiel, das ich leider
in das Forum mitgeschickt habe, zeigt, dass es sich um eine
A07-Datenquelle handelt.
Hier gibt es keinen Anlagen. Deshalb auch meine Frage.
Post by Franz Zaufall
Ich habe jetzt diese Betreffenden Zeilen in der
Abfrage mit einer Wenn-Bedingung gelöst; d.h. wenn die Bedingung
zutrifft ist das Ergebnis dieses Abfragefeldes Leer und damit wird
dieser Absatz im Serienbrief unterdrückt.
Ich würde dort mit ISNULL, CASE und Verkettungen arbeiten. Damit kann
man sich eigentlich alles für eine Seriendruckübergabe nach Word
zusammenbasteln.

Das ist auch wesentlich flexibler als mit irgendwelchen Schaltern in
Word zu arbeiten.
Post by Franz Zaufall
Ist zwar nicht die optimale
Lösung, da die freie Bearbeitung des Serienbriefhauptdokumentes für den
Enduser auf der Strecke bleibt,
Warum das denn?
Du kannst ja mal Deine Access-Abfrage hier im SQL-Text einstellen.
Post by Franz Zaufall
aber noch immer besser als endlos
veschachtelte If-Bedingungen. Bis jetzt ist es mir nicht erklärbar,
warum ein Ergebnis in der If-Bedingung = Leer/Null nicht auch den Absatz
unterdrückt...
Dir ist aber bewusst, dass LEER nicht dasselbe ist wie NULL, oder?
Vielleicht liegt dort das Problem.
--
Viele Grüsse

Jörg
Franz Zaufall
2009-11-22 18:11:07 UTC
Permalink
Hallo Jörg,

ich glaube dass ich da jetzt einmal auf die Bremse steigen muß. Ich habe das Gefühl, dass das beschriebene Problem jetzt nur mehr
zerredet wird, bis es nicht mehr vorhanden ist!
1. Beim aufgezeigten Problem ist es völlig egal welche Datenquelle dahintersteht.
2. Zwischen Null und Leer kann ich sehr wohl unterscheiden.

Was für mich von Anfang an nicht klar war, dass Word die Leer(-Zeilen /-Absatz)-Unterdrückung nur im Falle eines Absatzes
durchführt. Das ist mir erst durch die Meldung von Lisa klar geworden.

Ich möchte es jetzt nochmals mit einem auf das simpelste heruntergebrochenen Beispiel versuchen das Problem darzustellen:
Im vollgenden Beispiel verwende ich "**" = Absatzmarke.

Beispiel 1:
Wenn folgender Absatz in einem Serienbrief verwendet wird,
{MERGEFIELD zuHanden}**
und das Feld zuHanden leer ist, dann wird diese Zeile NICHT ausgedruckt.

Wenn aber folgender Absatz in dem Serienbrief verwendet wird (ob sinnvoll oder nicht soll hier nicht maßgebend sein),
{If {MERGEFIELD zuHanden} = "" "{MERGEFIELD zuHanden}" "an den Geschäftsführer"}**
wenn das Feld 'zuHanden' nicht leer ist wird "anden Geschäftsführer" ausgegeben.
Wenn allerdings das Feld 'zuHanden' leer ist wird genau dieses leere Feld wie im Beispiel 1 ausgegeben, aber die
Absatzunterdrückung funktioniert in diesem Falle nicht.
Das gleiche passiert auch bei:
{If {MERGEFIELD zuHanden} = "" "{MERGEFIELD zuHanden}**" "an den Geschäftsführer"}

Gruß
Franz
Post by Jörg Burzeja
Post by Franz Zaufall
Die Datenquelle ist eine Abfrage in Access. Das Beispiel, das ich
leider in das Forum mitgeschickt habe, zeigt, dass es sich um eine
A07-Datenquelle handelt.
Hier gibt es keinen Anlagen. Deshalb auch meine Frage.
Post by Franz Zaufall
Ich habe jetzt diese Betreffenden Zeilen in der Abfrage mit einer
Wenn-Bedingung gelöst; d.h. wenn die Bedingung zutrifft ist das
Ergebnis dieses Abfragefeldes Leer und damit wird dieser Absatz im
Serienbrief unterdrückt.
Ich würde dort mit ISNULL, CASE und Verkettungen arbeiten. Damit kann
man sich eigentlich alles für eine Seriendruckübergabe nach Word
zusammenbasteln.
Das ist auch wesentlich flexibler als mit irgendwelchen Schaltern in
Word zu arbeiten.
Post by Franz Zaufall
Ist zwar nicht die optimale Lösung, da die freie Bearbeitung des
Serienbriefhauptdokumentes für den Enduser auf der Strecke bleibt,
Warum das denn?
Du kannst ja mal Deine Access-Abfrage hier im SQL-Text einstellen.
Post by Franz Zaufall
aber noch immer besser als endlos veschachtelte If-Bedingungen. Bis
jetzt ist es mir nicht erklärbar, warum ein Ergebnis in der
If-Bedingung = Leer/Null nicht auch den Absatz unterdrückt...
Dir ist aber bewusst, dass LEER nicht dasselbe ist wie NULL, oder?
Vielleicht liegt dort das Problem.
Jörg Burzeja
2009-11-22 20:05:02 UTC
Permalink
Franz Zaufall schrieb:

Eine Bitte habe ich.

Würdest Du bei weiteren Antworten den Text ganz unten oder unter dem
Textabschnitt auf den Du dich beziehst anfügen? Das ist sonst sehr
schwer zu lesen, weil man ja sonst atypisch von unten nach oben lesen
muss. Das ist wie von rechts nach links lesen.

Danke.
Post by Franz Zaufall
Post by Jörg Burzeja
Post by Franz Zaufall
Die Datenquelle ist eine Abfrage in Access. Das Beispiel, das ich
leider in das Forum mitgeschickt habe, zeigt, dass es sich um eine
A07-Datenquelle handelt.
Hier gibt es keinen Anlagen. Deshalb auch meine Frage.
Post by Franz Zaufall
Ich habe jetzt diese Betreffenden Zeilen in der Abfrage mit einer
Wenn-Bedingung gelöst; d.h. wenn die Bedingung zutrifft ist das
Ergebnis dieses Abfragefeldes Leer und damit wird dieser Absatz im
Serienbrief unterdrückt.
Ich würde dort mit ISNULL, CASE und Verkettungen arbeiten. Damit kann
man sich eigentlich alles für eine Seriendruckübergabe nach Word
zusammenbasteln.
Das ist auch wesentlich flexibler als mit irgendwelchen Schaltern in
Word zu arbeiten.
Post by Franz Zaufall
Ist zwar nicht die optimale Lösung, da die freie Bearbeitung des
Serienbriefhauptdokumentes für den Enduser auf der Strecke bleibt,
Warum das denn?
Du kannst ja mal Deine Access-Abfrage hier im SQL-Text einstellen.
Post by Franz Zaufall
aber noch immer besser als endlos veschachtelte If-Bedingungen. Bis
jetzt ist es mir nicht erklärbar, warum ein Ergebnis in der
If-Bedingung = Leer/Null nicht auch den Absatz unterdrückt...
Dir ist aber bewusst, dass LEER nicht dasselbe ist wie NULL, oder?
Vielleicht liegt dort das Problem.
ich glaube dass ich da jetzt einmal auf die Bremse steigen muß.
Ich habe das Gefühl, dass das beschriebene Problem jetzt nur mehr
zerredet wird, bis es nicht mehr vorhanden ist!
Ich wollte nichts zerreden. Nur wenn es mehrere Lösungsmöglichkeiten
geht, suche ich mir immer die, die am besten funktioniert, und kümmere
mich dann auch nicht mehr weiter darum, warum eine andere nicht
funktioniert.
Post by Franz Zaufall
2. Zwischen Null und Leer kann ich sehr wohl unterscheiden.
OK. War eine Frage, da ich keine Informationen über Deine Kenntnisse habe.
Post by Franz Zaufall
Was für mich von Anfang an nicht klar war, dass Word die Leer(-Zeilen
/-Absatz)-Unterdrückung nur im Falle eines Absatzes durchführt. Das
ist mir erst durch die Meldung von Lisa klar geworden.
Ich möchte es jetzt nochmals mit einem auf das simpelste
Im vollgenden Beispiel verwende ich "**" = Absatzmarke.
Wenn folgender Absatz in einem Serienbrief verwendet wird,
{MERGEFIELD zuHanden}** und das Feld zuHanden leer ist, dann wird
diese Zeile NICHT ausgedruckt.
Wenn aber folgender Absatz in dem Serienbrief verwendet wird (ob
sinnvoll oder nicht soll hier nicht maßgebend sein),
{If {MERGEFIELD zuHanden} = "" "{MERGEFIELD zuHanden}" "an den
Geschäftsführer"}**
wenn das Feld 'zuHanden' nicht leer ist wird "anden Geschäftsführer" ausgegeben.
Wenn allerdings das Feld 'zuHanden' leer ist wird genau dieses leere
Feld wie im Beispiel 1 ausgegeben, aber die Absatzunterdrückung
funktioniert in diesem Falle nicht.
{If {MERGEFIELD zuHanden} = "" "{MERGEFIELD zuHanden}**" "an den Geschäftsführer"}
Kommst Du damit weiter?
http://support.microsoft.com/kb/264892/de

unter:
Mithilfe des folgenden Beispiels die zweite Adresszeile unterdrücken,
wenn das Ergebnis von ADDRESS2 MERGEFIELD leer ist
--
Viele Grüsse

Jörg
Franz Zaufall
2009-11-22 20:24:30 UTC
Permalink
Hallo Jörg,
Post by Jörg Burzeja
Eine Bitte habe ich.
Würdest Du bei weiteren Antworten den Text ganz unten oder unter dem
Textabschnitt auf den Du dich beziehst anfügen? Das ist sonst sehr
schwer zu lesen, weil man ja sonst atypisch von unten nach oben lesen
muss. Das ist wie von rechts nach links lesen.
Danke.
Bin noch nicht so lange in Foren unterwegs, daher kenne ich auch noch nicht alle Rules.
Daher danke ich dir für solche Hinweise, damit ich das auch lernen kann.
Danke!
Post by Jörg Burzeja
Kommst Du damit weiter?
http://support.microsoft.com/kb/264892/de
Mithilfe des folgenden Beispiels die zweite Adresszeile unterdrücken,
wenn das Ergebnis von ADDRESS2 MERGEFIELD leer ist
Ich habe mir diesen Artikel kurz durchgelesen. So wie es scheint dürfte dieser genau mein Problem bearbeiten.

Muß ich noch genau durcharbeiten und testen.
Danke für den Hinweis!

Gruß
Franz
Jörg Burzeja
2009-11-23 19:20:03 UTC
Permalink
Post by Franz Zaufall
Post by Jörg Burzeja
Eine Bitte habe ich.
Würdest Du bei weiteren Antworten den Text ganz unten oder unter dem
Textabschnitt auf den Du dich beziehst anfügen? Das ist sonst sehr
schwer zu lesen, weil man ja sonst atypisch von unten nach oben lesen
muss. Das ist wie von rechts nach links lesen.
Danke.
Bin noch nicht so lange in Foren unterwegs, daher kenne ich auch noch nicht alle Rules.
Kein Problem.
Post by Franz Zaufall
Daher danke ich dir für solche Hinweise, damit ich das auch lernen kann.
Sieht nun alles viel besser aus :-)
--
Viele Grüsse

Jörg
Loading...