Decisions Based on More Than One Condition

The SimplelfThen procedure you worked with earlier evaluated only a single condition in the If.. .Then statement. This statement, however, can take more than one condition. To specify multiple conditions in an If.. .Then statement, you use the logical operators AND and OR (see Table 5-2 at the beginning of the chapter). Here's the syntax with the AND operator:

If conditionl AND condition2 Then statement

In the above syntax, both conditionl and condition2 must be true for Visual Basic to execute the statement to the right of the Then keyword. For example:

If sales = 10000 AND salary < 45000 Then SlsCom = sales * 0.07

In this example, conditionl is sales = 10000, and condition2 is salary < 45000.

When AND is used in the conditional expression, both conditions must be true before Visual Basic can calculate the sales commission (SlsCom). If any of these conditions is false or both are false, Visual Basic ignores the statement after Then. When it's good enough to meet only one of the conditions, you should use the OR operator. Here's the syntax:

If conditionl OR condition2 Then statement

The OR operator is more flexible. Only one of the conditions has to be true before Visual Basic can execute the statement following the Then keyword. Let's look at this example:

If dept = "S" OR dept = "M" Then bonus = 500

In the above example, if at least one condition is true, Visual Basic assigns 500 to the bonus variable. If both conditions are false, Visual Basic ignores the rest of the line.

Now, let's look at a complete procedure example. Suppose you can get a 10% discount if you purchase 50 units of a product priced at \$7.00. The IfThenAnd procedure demonstrates the use of the AND operator.

0 0