Поделиться через


Макроблок Если... То... Иначе

Область применения: Access 2013, Office 2013

Вы можете использовать макроблок Если, чтобы выполнять группы макрокоманд в зависимости от значения выражения.

    If expression Then 
     Insert macro actions here ... 
    Else If expression 
     Insert macro actions here ... 
    Else 
     Insert macro actions here ... 
    End If

Настройка

Как для макроблока Если, так и для макроблока Иначе если необходимо задать следующие аргументы.

Аргумент макрокоманды

Описание

Expression

Условие, истинность которого должна проверяться. Принимает значение ИСТИНА или ЛОЖЬ.

Примечания

При выборе макроблока Если появляется поле для ввода выражения, представляющего собой условие, истинность которого будет в дальнейшем проверяться. Кроме того, доступно поле со списком, в которое можно добавить макрокоманду. Под ним автоматически отображается текст "Конец блока "Если" Поля "Если" и "Конец блока "Если" ограничивают область, в которую можно добавить группу (блок) макрокоманд. Макрокоманды блока будут выполнены лишь в случае, если введенное выражение примет значение ИСТИНА.

Для проверки истинности другого выражения в случае ложности первого вы можете выбрать команду Добавить блок "Иначе если", чтобы вставить необязательный блок Иначе если. Необходимо ввести выражение, принимающее значение ИСТИНА или ЛОЖЬ. Добавленный блок будет выполнен только в случае истинности этого выражения и ложности первого.

К блоку "Если" можно добавить любое число блоков Иначе если.

Вы можете выбрать команду Добавить блок "Иначе", чтобы вставить необязательный блок Иначе. В этом случае макрокоманды, добавленные под формой Иначе, сформируют блок Иначе, который будет выполнен только в случае ложности выражений в блоках "Если" и "Иначе если". К каждому блоку Если можно добавить один блок Иначе.

В следующем примере кода макрокоманды в первом блоке выполняются, если значение [Status] больше 0. Если значение [Status] не больше 0, вычисляется выражение, следующее за значением Else If . Макрокоманды в блоке Else If выполняются, если значение [Status] равно 0. Наконец, если ложны выражения как в первом, так и во втором блоке, выполняются макрокоманды блока Иначе.

    If [Status] > 0 Then 
     Insert macro actions here ... 
    Else If [Status] = 0 
     Insert macro actions here ... 
    Else 
     Insert macro actions here ... 
    End If

Вы можете вкладывать блоки Если друг в друга. Один блок Если можно вложить в другой, если в случае истинности первого выражения нужно оценить второе. В следующем примере кода внутренний блок If выполняется только в том случае, если значение [Status] больше 0 и больше 100.

    If [Status] > 0 Then 
     Insert macro actions here ... 
     If [Status] > 100 
     Insert macro actions here ... 
     EndifEnd If