Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Charles
 
Posts: n/a
Default if statement with multiple and

i need to put this long if statement in and it has multiple ands, is there a
way to do this?

IF {R_HistoryStatement.SubCode} 0 AND {R_HistoryStatement.TransactionCode}
= 75 THEN {R_HistoryStatement.FeeDesc} + ' Assess'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 76 THEN {R_HistoryStatement.FeeDesc} +
' Waive'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 77 THEN {R_HistoryStatement.FeeDesc} +
' Assess'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 78 THEN {R_HistoryStatement.FeeDesc} +
' Waive'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 320 THEN {R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 330 THEN {R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 340 THEN {R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 720 THEN {R_HistoryStatement.FeeDesc}
+ ' Disburse'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 730 THEN {R_HistoryStatement.FeeDesc}
+ ' Disburse'
Else if {R_HistoryStatement.TransactionCode} = 511 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 1'
Else if {R_HistoryStatement.TransactionCode} = 512 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 2'
Else if {R_HistoryStatement.TransactionCode} = 513 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 3'
Else if {R_HistoryStatement.TransactionCode} = 514 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 4'
Else if {R_HistoryStatement.TransactionCode} = 530 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Disb'
Else if {R_HistoryStatement.TransactionCode} = 531 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Addl Prem'

ELSE {R_HistoryStatement.Description}
  #2   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson
 
Posts: n/a
Default if statement with multiple and

I would probably go for something like:

{ SET X 0 }{ IF { R_HistoryStatement.SubCode } 0
"{ IF { R_HistoryStatement.TransactionCode } = 75 "{ SET X 1 }{
R_HistoryStatement.FeeDesc } Assess" ""
}{ IF { R_HistoryStatement.TransactionCode } = 76 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Waive" ""
}{ IF { R_HistoryStatement.TransactionCode } = 77 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Assess" ""
}{ IF { R_HistoryStatement.TransactionCode } = 78 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Waive" ""
}{ IF { R_HistoryStatement.TransactionCode } = 320 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Payment" ""
}{ IF { R_HistoryStatement.TransactionCode } = 330 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Payment" ""
}{ IF { R_HistoryStatement.TransactionCode } = 340 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Payment" ""
}{ IF { R_HistoryStatement.TransactionCode } = 720 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Disburse" ""
}{ IF { R_HistoryStatement.TransactionCode } = 730 ""{ SET X 1 }{
R_HistoryStatement.FeeDesc } Disburse" ""
}{ IF { R_HistoryStatement.TransactionCode } = 511 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Bill 1" ""
}{ IF { R_HistoryStatement.TransactionCode } = 512 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Bill 2" ""
}{ IF { R_HistoryStatement.TransactionCode } = 513 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Bill 3" ""
}{ IF { R_HistoryStatement.TransactionCode } = 514 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Bill 4" ""
}{ IF { R_HistoryStatement.TransactionCode } = 530 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Assess" ""
}{ IF { R_HistoryStatement.TransactionCode } = 530 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Assess" ""
}{ IF { R_HistoryStatement.TransactionCode } = 530 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Assess" ""
}{ IF { R_HistoryStatement.TransactionCode } = 530 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Disb" ""
}{ IF { R_HistoryStatement.TransactionCode } = 531 ""{ SET X 1 }{
R_HistoryStatement.ETDesc } Addl Prem" ""
}" }{ IF { REF X } = 0 "{R_HistoryStatement.Description}" "" }

which I /think/ is logically equivalent to yours, seems reasonably clear to
me and avoids deep nesting.

All the {} need to be the special field braces you can insert using ctrl-F9.
You need to use the appropriate field types for your
"R_HistoryStatement.TransactionCode" etc., e.g. { REF RHSTC }, { MERGEFIELD
RHSTC } or whatever.

Peter Jamieson
"Charles" wrote in message
news
i need to put this long if statement in and it has multiple ands, is there
a
way to do this?

IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode}
= 75 THEN {R_HistoryStatement.FeeDesc} + ' Assess'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 76 THEN
{R_HistoryStatement.FeeDesc} +
' Waive'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 77 THEN
{R_HistoryStatement.FeeDesc} +
' Assess'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 78 THEN
{R_HistoryStatement.FeeDesc} +
' Waive'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 320 THEN
{R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 330 THEN
{R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 340 THEN
{R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 720 THEN
{R_HistoryStatement.FeeDesc}
+ ' Disburse'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 730 THEN
{R_HistoryStatement.FeeDesc}
+ ' Disburse'
Else if {R_HistoryStatement.TransactionCode} = 511 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 1'
Else if {R_HistoryStatement.TransactionCode} = 512 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 2'
Else if {R_HistoryStatement.TransactionCode} = 513 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 3'
Else if {R_HistoryStatement.TransactionCode} = 514 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 4'
Else if {R_HistoryStatement.TransactionCode} = 530 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Disb'
Else if {R_HistoryStatement.TransactionCode} = 531 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Addl Prem'

ELSE {R_HistoryStatement.Description}


  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
macropod
 
Posts: n/a
Default if statement with multiple and

Hi Charles,

Here's another two ways:

(QUOTE({SET Value {=IF({SubCode}0,1,0)*{TransactionCode}}}
{IF Value = 75 "{FeeDesc} + Assess"}
{IF Value = 76 "{FeeDesc} + Waive"}
{IF Value = 77 "{FeeDesc} + Assess"}
{IF Value = 78 "{FeeDesc} + Waive"}
{IF Value = 320 "{FeeDesc} + Payment"}
{IF Value = 330 "{FeeDesc} + Payment"}
{IF Value = 340 "{FeeDesc} + Payment"}
{IF Value = 720 "{FeeDesc} + Disburse"}
{IF Value = 730 "{FeeDesc} + Disburse"}
{IF Value = 511 "{ETDesc } + Bill 1"}
{IF Value = 512 "{ETDesc } + Bill 2"}
{IF Value = 513 "{ETDesc } + Bill 3"}
{IF Value = 514 "{ETDesc } + Bill 4"}
{IF Value = 530 "{FeeDesc} + Disb"}
{IF Value = 531 "{FeeDesc} + Addl Prem"}
{IF{=(Value=75)+(Value=76)+(Value=77)+(Value=78)+( Value=320)+(Value=330)+(Va
lue=340)+(Value=720)+(Value=730)+(Value=511)+(Valu e=512)+(Value=513)+(Value=
514)+(Value=530)+(Value=531)} = 0 {Description}}

{QUOTE{SET Value {=IF({SubCode}0,1,0)*{TransactionCode}}}
{IF Value = 75 "{FeeDesc} + Assess"
{IF Value = 76 "{FeeDesc} + Waive"
{IF Value = 77 "{FeeDesc} + Assess"
{IF Value = 78 "{FeeDesc} + Waive"
{IF Value = 320 "{FeeDesc} + Payment"
{IF Value = 330 "{FeeDesc} + Payment"
{IF Value = 340 "{FeeDesc} + Payment"
{IF Value = 720 "{FeeDesc} + Disburse"
{IF Value = 730 "{FeeDesc} + Disburse"
{IF Value = 511 "{ETDesc } + Bill 1"
{IF Value = 512 "{ETDesc } + Bill 2"
{IF Value = 513 "{ETDesc } + Bill 3"
{IF Value = 514 "{ETDesc } + Bill 4"
{IF Value = 530 "{FeeDesc} + Disb"
{IF Value = 531 "{FeeDesc} + Addl Prem" {Description}}}}}}}}}}}}}}}}}

If the code is for a mailmerge, you'll need to add 'MAILMERGE ' before
'SubCode', 'TransactionCode', 'FeeDesc', 'ETDesc', and 'Description'. Also,
AFAIK you can't have mailmerge fields named like
'R_HistoryStatement.SubCode', which is why I've only used the second part in
each case.

You'll note that I've laid out the field codes for the 'IF Value = ' tests
with line breaks to improve readability you can use the code with or without
this but, for the second solution, you'd need to have a space character
instead.

NOTE: The field braces, which appear as '{' and '}' can't be typed in -
they're created in pairs via Ctrl-F9.


Cheers


"Charles" wrote in message
news
i need to put this long if statement in and it has multiple ands, is there
a
way to do this?

IF {R_HistoryStatement.SubCode} 0 AND

{R_HistoryStatement.TransactionCode}
= 75 THEN {R_HistoryStatement.FeeDesc} + ' Assess'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 76 THEN

{R_HistoryStatement.FeeDesc} +
' Waive'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 77 THEN

{R_HistoryStatement.FeeDesc} +
' Assess'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 78 THEN

{R_HistoryStatement.FeeDesc} +
' Waive'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 320 THEN

{R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 330 THEN

{R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 340 THEN

{R_HistoryStatement.FeeDesc}
+ ' Payment'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 720 THEN

{R_HistoryStatement.FeeDesc}
+ ' Disburse'
ELSE IF {R_HistoryStatement.SubCode} 0 AND
{R_HistoryStatement.TransactionCode} = 730 THEN

{R_HistoryStatement.FeeDesc}
+ ' Disburse'
Else if {R_HistoryStatement.TransactionCode} = 511 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 1'
Else if {R_HistoryStatement.TransactionCode} = 512 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 2'
Else if {R_HistoryStatement.TransactionCode} = 513 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 3'
Else if {R_HistoryStatement.TransactionCode} = 514 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Bill 4'
Else if {R_HistoryStatement.TransactionCode} = 530 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Disb'
Else if {R_HistoryStatement.TransactionCode} = 531 AND
{R_HistoryStatement.SubCode} 0
Then {R_HistoryStatement.ETDesc} + ' Addl Prem'

ELSE {R_HistoryStatement.Description}



Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Possible BUG: Multiple HTTPrequests send from one includetext statement Oliver Mailmerge 2 April 18th 05 09:46 AM
Multiple If... Then Statement in Word 2003 Sue Hargrave Mailmerge 1 February 26th 05 10:48 PM
Multiple "or" in "If Statement" WordUser Mailmerge 2 February 4th 05 02:02 PM
IF Statement using multiple Expressions with Bolean Viperpurple Mailmerge 3 December 19th 04 02:33 PM
Multiple docs open multiple words Ron Smith New Users 2 December 11th 04 09:21 PM


All times are GMT +1. The time now is 10:32 AM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"