Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
The goal is I am wanting to use an If-then-else statement where the If is
compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
#2
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Use the following construction
{ IF { COMPARE { IF { = { MERGEFIELD CustomerNumber } } = { = 4 } 1 0 } = { IF { = { MERGEFIELD CustomerRating } } = { = 9 } 1 0 } = 1 "Credit not acceptable" "Credit acceptable"} -- 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, originally posted via msnews.microsoft.com "Arden" wrote in message ... The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
#3
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Thanks for taking the time to reply. The result I get is closer, but it's not
yet complete: Cust # 4 Cust Rate 2 { IF { COMPARE { IF { = 4} = { = 4 } 1 0 } = { IF { = 2} = { = 9 } 1 0 } = 1 "Credit not acceptable" "Credit acceptable"} when the CustomerNumber = 4 and the CustomerRate = 2. A little more help? "Arden" wrote: The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
#4
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
There's a simpler way of testing for results in one of more fields. See
'Testing for a value in one of several fields' at http://www.gmayor.com/formatting_word_fields.htm Based on that model, to test whether a Mergefield Code contains the value of 1, 2 or 3 try the following { IF{ =({ IF{ MERGEFIELD Code } = "1" 1 0 } + { IF{ MERGEFIELD Code } = "2" 1 0 } + { IF{ MERGEFIELD Code } = "3" 1 0 }) } = 1 "Credit Acceptable" "Credit Not Acceptable" } -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org Arden wrote: Thanks for taking the time to reply. The result I get is closer, but it's not yet complete: Cust # 4 Cust Rate 2 { IF { COMPARE { IF { = 4} = { = 4 } 1 0 } = { IF { = 2} = { = 9 } 1 0 } = 1 "Credit not acceptable" "Credit acceptable"} when the CustomerNumber = 4 and the CustomerRate = 2. A little more help? "Arden" wrote: The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
#5
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
The original example should work, which suggests that you may not be
entering it correctly. Typically, it's easier to insert these nested fields "by hand" using a. ctrl-F9 to insert each pair of the special "field braces" {} (the ordinary ones on the keyboard do not work) b. alt-F9 to toggle between "field code" and "field results" view. c. select one of the "nested" fields inside the IF and use shift-F9 to toggle just that field so you can see its result. The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. { IF { ={ COMPARE code = 1 }+{ COMPARE code = 2 }+{ COMPARE code = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } precisely what you put for "code" depends on what kind of thing "code" is - if it's a mergefield, you would either need to use { MERGEFIELD code } instead of code, i.e. { IF { ={ COMPARE { MERGEFIELD code } = 1 }+{ COMPARE { MERGEFIELD code } = 2 }+{ COMPARE { MERGEFIELD code } = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } or set a bookmark prior to the comparison and use that instead, e.g. { SET code2 { MERGEFIELD code } }{ IF { ={ COMPARE { MERGEFIELD code2 = 1 }+{ COMPARE code2 = 2 }+{ COMPARE code2 = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } Peter Jamieson http://tips.pjmsn.me.uk Arden wrote: Thanks for taking the time to reply. The result I get is closer, but it's not yet complete: Cust # 4 Cust Rate 2 { IF { COMPARE { IF { = 4} = { = 4 } 1 0 } = { IF { = 2} = { = 9 } 1 0 } = 1 "Credit not acceptable" "Credit acceptable"} when the CustomerNumber = 4 and the CustomerRate = 2. A little more help? "Arden" wrote: The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
#6
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
thanks for your post and your website. I still do not seem to achieve
success, even when using your example, coding: { IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0 } ) } = 1 True False } When I run the merge, the output shows: { IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0 } ) } = 1 True False } where the A's, above, represent the data in the table. Why doesn't the expression fully resolve and just print "True"? Thanks. "Peter Jamieson" wrote: The original example should work, which suggests that you may not be entering it correctly. Typically, it's easier to insert these nested fields "by hand" using a. ctrl-F9 to insert each pair of the special "field braces" {} (the ordinary ones on the keyboard do not work) b. alt-F9 to toggle between "field code" and "field results" view. c. select one of the "nested" fields inside the IF and use shift-F9 to toggle just that field so you can see its result. The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. { IF { ={ COMPARE code = 1 }+{ COMPARE code = 2 }+{ COMPARE code = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } precisely what you put for "code" depends on what kind of thing "code" is - if it's a mergefield, you would either need to use { MERGEFIELD code } instead of code, i.e. { IF { ={ COMPARE { MERGEFIELD code } = 1 }+{ COMPARE { MERGEFIELD code } = 2 }+{ COMPARE { MERGEFIELD code } = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } or set a bookmark prior to the comparison and use that instead, e.g. { SET code2 { MERGEFIELD code } }{ IF { ={ COMPARE { MERGEFIELD code2 = 1 }+{ COMPARE code2 = 2 }+{ COMPARE code2 = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } Peter Jamieson http://tips.pjmsn.me.uk Arden wrote: Thanks for taking the time to reply. The result I get is closer, but it's not yet complete: Cust # 4 Cust Rate 2 { IF { COMPARE { IF { = 4} = { = 4 } 1 0 } = { IF { = 2} = { = 9 } 1 0 } = 1 "Credit not acceptable" "Credit acceptable"} when the CustomerNumber = 4 and the CustomerRate = 2. A little more help? "Arden" wrote: The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
#7
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Thanks for taking the time to teach me about the Ctrl F9!!!
"Arden" wrote: thanks for your post and your website. I still do not seem to achieve success, even when using your example, coding: { IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0 } ) } = 1 True False } When I run the merge, the output shows: { IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0 } ) } = 1 True False } where the A's, above, represent the data in the table. Why doesn't the expression fully resolve and just print "True"? Thanks. "Peter Jamieson" wrote: The original example should work, which suggests that you may not be entering it correctly. Typically, it's easier to insert these nested fields "by hand" using a. ctrl-F9 to insert each pair of the special "field braces" {} (the ordinary ones on the keyboard do not work) b. alt-F9 to toggle between "field code" and "field results" view. c. select one of the "nested" fields inside the IF and use shift-F9 to toggle just that field so you can see its result. The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. { IF { ={ COMPARE code = 1 }+{ COMPARE code = 2 }+{ COMPARE code = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } precisely what you put for "code" depends on what kind of thing "code" is - if it's a mergefield, you would either need to use { MERGEFIELD code } instead of code, i.e. { IF { ={ COMPARE { MERGEFIELD code } = 1 }+{ COMPARE { MERGEFIELD code } = 2 }+{ COMPARE { MERGEFIELD code } = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } or set a bookmark prior to the comparison and use that instead, e.g. { SET code2 { MERGEFIELD code } }{ IF { ={ COMPARE { MERGEFIELD code2 = 1 }+{ COMPARE code2 = 2 }+{ COMPARE code2 = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } Peter Jamieson http://tips.pjmsn.me.uk Arden wrote: Thanks for taking the time to reply. The result I get is closer, but it's not yet complete: Cust # 4 Cust Rate 2 { IF { COMPARE { IF { = 4} = { = 4 } 1 0 } = { IF { = 2} = { = 9 } 1 0 } = 1 "Credit not acceptable" "Credit acceptable"} when the CustomerNumber = 4 and the CustomerRate = 2. A little more help? "Arden" wrote: The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
#8
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
{ IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0
} ) } = 1 True False } should be { IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0 } ) } 0 True False } Peter Jamieson http://tips.pjmsn.me.uk Arden wrote: thanks for your post and your website. I still do not seem to achieve success, even when using your example, coding: { IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0 } ) } = 1 True False } When I run the merge, the output shows: { IF { =( { IF A = A 1 0 } + { IF A = B 1 0 } + { IF A = C 1 0 } ) } = 1 True False } where the A's, above, represent the data in the table. Why doesn't the expression fully resolve and just print "True"? Thanks. "Peter Jamieson" wrote: The original example should work, which suggests that you may not be entering it correctly. Typically, it's easier to insert these nested fields "by hand" using a. ctrl-F9 to insert each pair of the special "field braces" {} (the ordinary ones on the keyboard do not work) b. alt-F9 to toggle between "field code" and "field results" view. c. select one of the "nested" fields inside the IF and use shift-F9 to toggle just that field so you can see its result. The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. { IF { ={ COMPARE code = 1 }+{ COMPARE code = 2 }+{ COMPARE code = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } precisely what you put for "code" depends on what kind of thing "code" is - if it's a mergefield, you would either need to use { MERGEFIELD code } instead of code, i.e. { IF { ={ COMPARE { MERGEFIELD code } = 1 }+{ COMPARE { MERGEFIELD code } = 2 }+{ COMPARE { MERGEFIELD code } = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } or set a bookmark prior to the comparison and use that instead, e.g. { SET code2 { MERGEFIELD code } }{ IF { ={ COMPARE { MERGEFIELD code2 = 1 }+{ COMPARE code2 = 2 }+{ COMPARE code2 = 3 } } 0 "code is one of 1,2, or 3" "code is none of 1,2, or 3" } Peter Jamieson http://tips.pjmsn.me.uk Arden wrote: Thanks for taking the time to reply. The result I get is closer, but it's not yet complete: Cust # 4 Cust Rate 2 { IF { COMPARE { IF { = 4} = { = 4 } 1 0 } = { IF { = 2} = { = 9 } 1 0 } = 1 "Credit not acceptable" "Credit acceptable"} when the CustomerNumber = 4 and the CustomerRate = 2. A little more help? "Arden" wrote: The goal is I am wanting to use an If-then-else statement where the If is compared to a group of 3 values and I haven't found how to do this in one statement. For example, I think it should look like: If code = (1 or 2 or 3) then "TEXT1" "TEXT2". I don't want to use If code = 1 "TEXT1" "If code = 2 "TEXT1" ... etc for a nested if with the same text to maintain multiple times. When I posed this question to an online expert, I was directed to the "=OR" function with the COMPARE statement. It looks like it should work, but I can't get Microsoft's example code from Help to work: { IF { = OR ( { COMPARE { MERGEFIELD CustomerNumber } = 4 }, { COMPARE { MERGEFIELD CustomerRating } = 9 } ) } = 1 "Credit not acceptable" "Credit acceptable"} What advice can you offer? Thanks! |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Where is the "AutoSum" command in Mircosoft Office Work 2007 | Microsoft Word Help | |||
Missing "Page Setup" command from File menu | Microsoft Word Help | |||
Can you change the order of tabs in "Format Picture" command? | Microsoft Word Help | |||
How do I "reset" the FIND command under EDIT to use page scrolling | Microsoft Word Help | |||
In Word and Excel, the command "File/Save as" does not respond | New Users |