If...Then...Else Macro Block
Last modified: June 29, 2011
Applies to: Access 2013 | Office 2013
You can use the If macro block to conditionally execute a group of actions, depending on the value of an expression.
When you select the If macro block, a textbox appears so that you can enter an expression that represents the condition you wish to test. In addition, a combo box appears where you can insert a macro action, below which the text "End If" automatically displays. The If and the End If bracket an area in which you can enter a group, or block, of actions. The block executes only if the expression that you enter is True.
To evaluate a different expression when the first expression is false, you can click Add Else If to insert an optional Else If block. You must enter an expression that evaluates to True or False. In this case, the block executes only if the expression is True and the first expression is False.
You can add as many Else If blocks as you like to an If block.
You can click Add Else to insert an optional Else block. In this case, the actions that you insert below the Else form the Else block, which executes only when the actions above do not. You can add a single Else block to an If block.
In the following code example, the macro actions in the first block execute if the value of [Status] is greater than 0. If the value of [Status] is not greater than 0, the expression that follows the Else If is evaluated. The macro actions in the Else If block execute if the value of [Status] is equal to 0. Finally, if neither the first block nor the second block execute, the actions in the Else block execute.
If [Status] > 0 Then Insert macro actions here ... Else If [Status] = 0 Insert macro actions here ... Else Insert macro actions here ... End If
You can nest If blocks. You should consider nesting an If block within an If block if you want to evaluate a second expression when the first expression is True. In the following code example, the inner If block only executes when the value of [Status] is both greater than 0 and greater than 100.