Операторы управления VBAПрограммирование VBA в СУБД Access 2003

RSS, Twitter, Vkontakte, Facebook

Основы программирования VBA

Управление выполнением программы в VBA

Автор: Владимир Ткаченко

Источник: Обучение в интернет

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

Operators условного перехода - это инструкции, которые определяют ход выполнения других операторов программы в зависимости от результатов анализа некоторых условий. Управляющие operators позволяют выполнять или пропускать определенные operators выражений. К операторам условного перехода относятся operators ветвления IF...Then и выбора Select Case. Существует краткая (IF...Then) и полная форма (IF...Then...Else...End If) операторов ветвления. Необходимо отметить, что при записи инструкции в одну строку ключевые слова End If не применяется.

Общий вид краткой формы оператора ветвления и одну строку:

IF <условие> Then <оператор>

Краткая форма оператора ветвления для блока операторов имеет следующий вид:
IF <условие> Then
...<оператор1>
...<оператор2>
End If.

Когда условие истинно (т.е. результатом условия является true), то выполняется инструкция, или группа инструкций, следующая за ключевым словом "Then".

Полная форма оператора условного перехода IF...Then...Else...End If, который имеет две альтернативные ветви процедуры:
IF <условие> Then
....<оператор1>
Else
.....<оператор2>
End If.

Если условие соблюдается (условие истинно), выполняется инструкция 1 (operator или группа операторов), расположенная между ключевыми словами Then и Else, а если условие не соблюдается (ложно), то выполняется альтернативная инструкция 2, расположенная между ключевыми словами Else и End if.

Необходимо отметить, что operators могут быть вложенными. Если требуется проверить условие2 при выполненном (истинном) условии1, то следует применять вложенные operators, т.е. внутри оператора IF...Then...End If надо поместить IF...Then...Else...End If.

Синтаксис оператора условного перехода IF...Then...End If, который имеет вложенный operator IF...Then...Else...End If имеет вид:
IF <условие1> Then
....IF <условие2> Then
... ...<оператор 1>
....Else
.......<оператор 2>
....End If
End If.

Первый operator IF проверяет условие1. Если условие1 истинно, то выполняется второй operator IF. Если условие2 истинно, то выполняется оператор1, если ложно - оператор2. В этой конструкции проверяется условие2 при выполненном условии1, если условие1 ложно, выполняется operator, следующий за ключевым словом End If.

Если выбирается одно из нескольких значений, то проверяется не одно, а несколько условий. В этом случае следует применить конструкции с несколькими операторами IF...Then...ElseIF, т.е. внутри оператора IF...Then...Else...End If поместить ветви операторов ElseIf...Then.

Форма условного перехода IF...Then...ElseIF имеет следующий синтаксис:
IF <условие1> Then
....<оператор1>
....ElseIf <условие2> Then
.............<оператор2>
.............ElseIf <условие3> Then
......................<оператор3>
......................
Else
<операторМ>
End If.

Если условие1 истинно, то выполняется оператор1, а затем первый, из операторов следующий за ключевым словом End if. Если условие1 ложно, то выполняются операторы ElseIf в порядке их следования, чтобы проверить их условия. Если обнаружится, что одно из условий имеет значение True, то выполняется operator, который следуют непосредственно за соответствующим ключевым словом Then.

Если все условия ложны, то выполняется альтернативный "операторМ", следующий за ключевым словом Else. Таким образом, если первое условие ложно, операторы ElseIf обеспечивают проверку дополнительных условий с целью выбора одного из нескольких значений.

В VBA применяется еще один operator условного перехода типа Select Case. Этот operator позволяет осуществить выбор альтернативного варианта, сравнивая значение с различными выражениями.


Синтаксис оператора условного перехода Select Case имеет вид:
Select Case значение
....Case <условие1>
... ...<операторы1>
....Case <условие2>
.......<операторы2>

..............................
....Case <условиеL>
.......<операторыL>
....Case Else
.......<операторM>
End Select.

В этом условном операторе значение переменной сравнивается с каждым из значений, которые хранятся в  выражениях каждого из условий. Если значение переменной удовлетворяет одному из значений условия, будут выполняться operators, следующие за этим условием. Затем будет выполняться operator, следующий за ключевым словом End Select. Если значение переменной не удовлетворяет ни одному из значений условий, то выполняется "операторМ", следующий за оператором Case Else.

Подпишитесь на мою рассылку СУБД MS Access 2003 -это просто!