View Single Post
  #17   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Graham Mayor Graham Mayor is offline
external usenet poster
 
Posts: 19,312
Default Mail merge .. . If Then Else

Is XX the actual result or something that represents the actual result? If
the latter, what is the *actual* result of that field?

--

Graham Mayor - Word MVP

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


wrote:
On 9 Feb, 07:25, "macropod" wrote:
Hi Doug,

Since there's no spaces in the test condition or true/false results,
the field works equally well with no quote characters:
{IF{MERGEFIELD PatientCode \*Upper} = XX @}

Another potential issue is whether the 'PatientCode' field contains
exactly 'XX' - no more & no less. The OP said "As part of the
testing i have printed to screen Value X to confirm it contains the
data for the condition to be met". That's only one 'X'. Or is 'Value
X' the name of a/the field?

Cheers

--
macropod
[MVP - Microsoft Word]

"Doug Robbins - Word MVP" wrote in
l...
Remove the quotation marks from "{ MERGEFIELD PatientCode \*Upper}"

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of
my services on a paid consulting basis.

Doug Robbins - Word MVP
wrote in message
oups.com... On 8
Feb, 16:55, wrote:
On 8 Feb, 16:15, "Graham Mayor" wrote:





And do test the result of {Mergefield PatientCode} without a
condition to
ensure it reproduces exactly what you think it should reproduce.
Try also

{ IF { MERGEFIELD PatientCode \*Upper} = "XX" "@" }
--

Graham Mayor - Word MVP

My web sitewww.gmayor.com
Word MVP web sitehttp://word.mvps.org


Peter Jamieson wrote:
1. Are all the {} the special field code braces that you can
insert using ctrl-F9?
2. Is the value definitely XX and not xx, xX etc?
3. Try adding double quotes around the { MERGEFIELD } field,
i.e.

{ IF "{ MERGEFIELD PatientCode }" = "XX" "@" "" }

Peter Jamieson
wrote in message
oups.com...
On 8 Feb, 15:33, wrote:
Hi - i am having a few problems with the if then else
conditional statement with word mail merge. The logic that i
am looking to implement is if Value X = XX then print @ else
print nothing. The code is below. Now this seems very
simple but for some reason doesnt work and even when the
condition is met it does not print @. As part of the testing
i have printed to screen Value X to confirm it contains the
data for the condition to be met but it doesnt write the @. {
IF { MERGEFIELD PatientCode } = "XX" "@" "" }

So the issue i have is that although the condition seems to
have been
met it does not execute the correct part of the conditional
statement. The data being used for the mail merge comes from
a SQL 2000 SP3a database.- Hide quoted text -

- Show quoted text -

Hi - thanks for your suggestions - i cant try them at the moment
as production is down . With regards word mail merge i dont
have any exeperience apart from the hour or so that i have spent
looking at this issue (although i have numerous years of
development experience - somewhat offset by the fact i am now a
manager ).

In one of the suggestions the code used \*Upper - i pressume that
there must be numerous other switches e.g. \*Lower etc. Is there
a FAQ that describes all these 'switches' - cant seem to find
mention of them Word Help.

Thanks in advance,

CM- Hide quoted text -

- Show quoted text -


Hi - just tried the suggested fix and it still doesnt work - the
code is below;

{ IF "{ MERGEFIELD PatientCode \*Upper}" = "XX" "@" }

Any other suggestions - this is really frustrating because for all
intents and purposes it should work. I have tried using the same
logic with another merge field and it works fine - could there be
anything in particular with this field that might mean that the
condition is not being met?

Thanks in advance,

CM







Hi - thanks for all your responses but i still have the same issue.
The value in the merge field is XX - as part of the testing i did i
printed the merge field to screen and also concantenated a value
either side to confirm that only the XX was contained within - i used
the following;

"Start" MERGEFIELD PatientCode "End"

The output was;

StartXXEnd

So i know that there are no trailing white spaces.

This issue is really quite annoying - using the code provided in the
responses above it should in theory execute the IF statement for the
XX condition.

Any further suggestions greatly appreciated. Failing that i will try
and look for another merge field to use to generate the condition and
meet the business requirements needed in the front end.

Thanks in advance,

CM