phone: (540)338-0194
email: ken@kenhamady.com



Making Multiple Variable Assignments in One Formula:

This formula is for myself.   I keep forgetting the syntax and so I have posted it here so that I can find it when I need it.

You are allowed to assign values to two variables in one formula, simply by separating the assignments with semicolons.  This gets a little more confusing when you are within nested If-Then logic.   The formula below shows you how to do four assignments if the condition is TRUE and a different four assignments if the condition is FALSE.   This formula will increment each of the 4 variables with one amount if the order is under $1,000.  The increment will be 10 times that amount if the order is over $1,000.

Three things to notice:
1) The set of assignments after THEN or ELSE are contained inside a pair parentheses.
2) Within each pair of parentheses the assignments are separated by semicolons.
3) The If - Then - Else steps themselves are NOT separated by semicolons.

The last line is not necessary, but it allows the formula to display the contents of all four variables at once on the report.    Without this last line the formula would simply show the value of the last assignment.  Remove the two comment marks (leaving the semicolon) for this line to activate.
 

Whileprintingrecords;

 
Numbervar one;
Numbervar two;
Numbervar three;
Numbervar four;

 
if {Orders.Order Amount} < 1000

 
then (one  := one  + 1;
         two  := two  + 2;
         three:= three+ 3;
         four := four + 4 )

 
else (one  := one  + 10;
         two  := two  + 20;
         three:= three+ 30;
         four := four + 40 )

 
//   ; Totext(one,0,'') + '-' + Totext(two,0,'') + '-' + Totext(three,0,'')+ '-' + Totext(four,0,'')