Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Модули Access.docx
Скачиваний:
9
Добавлен:
24.09.2019
Размер:
61.72 Кб
Скачать

Инструкция If...Then... Else

Инструкция If...Тhen... Else используется для выполнения той или друго! группы инструкций в зависимости от значений условных выражений.

Синтаксис:

!f <условие-1> Then

[ Инструкции-процедуры-!^ [Elself условие-2 Then

[<инструкции-процедуры-2>]]... [Else

[<инструкции-процедуры-п>]] End If

или

If <условие> Then <инструкция-то> [Else <инструкция-иначе>'

Пояснения:

<условие> представляет собой числовое или строковое выражение, которо Access может оценить как True (ненулевое значение) или False (0 или Null) <условие> может также быть специальным выражением TypeOf.-.Is, которо применяется для проверки объектной переменной типа Control. Синтакси такого выражения:

TypeOf <объектная-переменная> Is <тип-элемен.та-управления.

где Объектная-переменная — это имя объектной переменной типа Centre (Элемент управления}, а <тип-элемента-управления> — один из следу ющи типов: BoundObjectFrame (Присоединенная рамка объекта), CheckBox (Фл;

жок), ComboBox (Поле со списком), CommandButton (Кнопка), Chart (Диа1 рамма), CustomControl (Специальный элемент управления), Image (Рисунок^ Label (Надпись), Line (Линия), ListBox (Список), ObjectFrame (Рамка объе! та), OptionButton (Переключатель), OptionGroup (Группа), PageBreak (Коне страницы), Rectangle (Прямоугольник), SubForm (Подчиненная форма), Sul Report (Подчиненный отчет), TextBox (Поле), ToogleButton (Выключател! или UnboundObjectFrame (Свободная рамка объекта).

Если <условие> имеет значение True, VBA выполняет одну или несколы инструкций, расположенных за ключевым словом Then. Если <условие> име< значение False, VBA оценивает <условие>, находящееся за следующим ключ' вым словом Elself, или выполняет инструкции, расположенные после ключево] слова Else, в зависимости от того, что именно (Elself или Else) встречаете первым в тексте процедуры.

Во втором варианте синтаксиса отсутствует инструкции End If, но в этом случ. вся управляющая структура If... Then должна быть расположена полностью i одной строке процедуры. Как <инструкция-то>, так и <инструкцкя-иначе могут быть либо отдельной инструкцией, либо последовательностью инстру ций, разделенных двоеточиями (:).

Пример:

Чтобы присвоить целочисленное значение переменной в зависимости от того, начинается ли строка символов с буквы в интервале от А до F, от G до N либо от О до Z, введите:

Dim strMyString As String, strFirst As String, _

intVal As Integer

strFirst = UCase$(Mid$(strMyString, 1, 1)) If strFirst >= "A" And strFirst <= "F" Then

intVal = 1 Elself strFirst >= "G" And strFirst <= "N" Then

intVal = 2 Elself strFirst >= "0" And strFirst <= "Z" Then

intVal = 3 Else

intVal = 0 End If

Инструкция Select Case

Инструкция Select Case используется для выполнения групп инструкций в зависимости от результата сравнения некоторого выражения со списком или диапазоном значений.

Синтаксис:

Select Case <проверяемое-выражение> [Case <список-сравнения-1> [ Инструкции-процедуры-1>] ]

[Case Else

[<инструкции-процедуры-п>'\ ] End Select

где <проверяемое-выражение> — это некоторое числовое или строковое выражение, а <список-сравнепия> есть

{<элемент-сравнения>,...} где <элемент-сравнения> это

[выражение | выражение! То выражение 2 |—ь Is <оператор-сравнения> выражение}

и где <оператор-срав11ения> есть:

{= 1 о 1 < 1 > I <= I >=}

Пояснения:

Если в предложении Case <проверяемое-выражение> совпадает с одним из <элементов-сравнения>, то VBA выполняет инструкции, расположенные после этого предложения. Если <элемент-сравнения> представляет собой одиночное выражение, то для того, чтобы выполнялся блок инструкций этого предложения, <проверяемое-выраж,ение> должно быть равно <элементу-сравненпя>. Если <элемент-сравпеиия> содержит ключевое слово То, то первое выражение должно быть меньше второго, а значение <проверяемого-выражения> должно находиться между значениями выражения) и выражения2. Если <элемент-сравнения> содержит ключевое слово Is, то результат сравнения должен быть истинным.

Если <проверяемому-выражеиию> удовлетворяют несколько предложений Case, VBA выполняет блок инструкций только первого из них. Блок инструкций, расположенный после предложения Case Else, выполняется в том случае, когда ни одно из предшествующих предложений Case не удовлетворяет <про-веряемому-выражению>. Вы можете использовать вложенную инструкцию 5с-lect Case, поместив ее после одного из предложений Case.

Пример:

Чтобы присвоить целочисленное значение переменной в зависимости от того, начинается ли строка символов с буквы в интервале от А до F, от G до N либс от О до Z, введите:

Dim strMyString As String, intVal As Integer Select Case UCase$(Mid$(strMyString, 1, 1)) Case "A" To "F"

intVal = 1 Case "G" To "N"

intVal == 2 Case "0" To "Z"

intVal = 3 Case Else

intVal = 0 End Select