OR statement

P

Peter Jamieson

Can you be a bit more specific please? What do you want to "OR" ?

Peter Jamieson
 
G

Graham Mayor

Perhaps if you explained exactly what it is you are trying to do, someone
may be able assist with the correct syntax.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
J

JCSadie

Word 2002 ..IF statement with an OR..There was a listing in here last week..I
should have saved it out.

{if {=or({mergefield doc_param} = "ap,*"), =or({mergefield doc_param} =
"ap&pop,*")} = 1 "Blah Blah Blah" "?????????"}

Not sure it should be = 1 for True. Did this because I was thinking of the
AND conditional. Where do you end the parenthesis? Do you add the second =or
after a , or a ;? Enough? That is what I meant by needing syntax!
 
P

Peter Jamieson

Word 2002 ..IF statement with an OR..There was a listing in here last
week..I

Try Google Groups to find messages.

The building blocks are:

{ =or(expression1,expression2) }

returns 1 if either expression1 or expression2 or both expressions are 1, 0
otherwise

within an = field, or functions can be nested

{ =or(expression1,or(expression2,expression3)) }

When you need to do a comparison, you can use

{ IF "{ MERGEFIELD doc_param }" = "ap.*" "1" "0" }

so then you can do

{ =or( IF "{ MERGEFIELD doc_param }" = "ap.*" "1" "0" },expression2) }

or you can use

{ COMPARE "{ MERGEFIELD doc_param }" = "ap.*" }

which returns 1 for "they match" and 0 for "they do not match", so you can
use

{ =or({ COMPARE "{ MERGEFIELD doc_param }" = "ap.*" },expression2) }

But as long as "False" is always expressed as 0 and "True" is always
expressed as 1 (which is what happens if you do your comparisons using
COMPARE, or IF as above), you can do multiple or s within an = field using
simple addition, e.g.

{ ={ COMPARE "{ MERGEFIELD doc_param }" = "ap.*" }+
{ IF "{ MERGEFIELD doc_param }" = "ap.*" "1" "0" } }

should return 0 if neither expression is true and >0 otherwise.

Often, people want to return one text if one or more of several conditions
is true and another text otherwise. In that case, you usually need to wrap
the whole {=} field up in a final IF, e.g. using the above addition approach

{ IF { ={ COMPARE "{ MERGEFIELD doc_param }" = "ap.*" }+
{ IF "{ MERGEFIELD doc_param }" = "ap.*" "1" "0" } } = 0
"it's all false" "at least one of them is true" }

Peter Jamieson
 
J

JCSadie

OK, I keep getting syntax errors, it sometimes points to the comma and
sometimes to the parenthesis. This is what I have

{=or({doc_param} = "AP", {doc_param} = "ap")} What else goes in here to tell
it what to do?

If I put it in an if statement then would it look something like this ? do
I set it equal to one? Shouldn't it automatically know whether it is true or
false?

{if {=or({doc_param} = "AP", {doc_param} = "ap")} = 1 "AP is True" "AP is
False"}
 
P

Peter Jamieson

The point is that you can't just do

{doc_param} = "AP".

Instead, you have to do

{ COMPARE { doc_param } = "AP" }

Which makes everything more unwieldy, but means that the following should
work:

{=or({ COMPARE {doc_param} = "AP" }, { COMPARE {doc_param} = "ap" })}

Then you probably need to wrap that up:

{ IF {=or({ COMPARE {doc_param} = "AP" }, { COMPARE {doc_param} = "ap" })}
= 0
"doc_param is neither AP nor ap" "doc_param is AP or ap" }

In this case the following might be what you need:

{ IF { doc_param \*Upper } = "AP" "doc_param is ap,aP,Ap or AP" "doc_param
is none of ap,aP,Ap or AP" }

Peter Jamieson
 
J

JCSadie

Thank you so much for your information. The or statements are beginning to
work. Your are greatness!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top