View Single Post
  #12   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

Accepting what you say about quotes, I prefer always to use them as it makes
it so much simpler to see what the field construction actually does.

--

Graham Mayor - Word MVP

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



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


"Doug Robbins - Word MVP" wrote in message
...
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