Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по Ms Access.doc
Скачиваний:
92
Добавлен:
19.05.2015
Размер:
1.86 Mб
Скачать

Вторая группа операторов]

End If

Этот же синтаксис можно применять, когда есть несколько условий и несколько блоков операторов.

If условие1 Then

Блок операторов

[ElseIf условие2 Then

Второй блок операторов]

[Else n-й блок операторов]

End If

Если первое условие равно True (Истина), то VBA выполняет первый блок операторов и затем переходит к следующему после оператора End If. пропуская все остальные блоки.

Если первое условие равно False, то проверяется следующее условие в операторе ElseIf.

Если это условие истинно, то выполняется соответствующий блок операторов и выходит из структуры ветвления. Если оно ложно, то проверяется следующее условие и т.д.

Если встречается условие, значение которого истинно, то выполняется соответствующий блок операторов и выходит из структуры ветвления.

Если же ни одно из условий не равно True, то VBA может выполнить блок после Else и выйти из структуры.

Начало структуры

ветвления

If

Условие TrueThen

Операторы

False

Else

операторы

Конец структуры ветвления

Пример

Вычислить значение функции у(х) при заданном х:

 1+x , если х<0

Y=  1/x ,если 0x5

 5 ,если x>7

Алгоритм

Ввод х

Если х<0, то

У=1+х

Вывод х,у

иначе

если x5, то

если х<>0, то

у=

Вывод у,х

Иначе

Вывод «На 0 делить нельзя»

всёесли

иначе

если х, то

Вывод « Функция не определена»

Иначе

У=5

Вывод у

Всёесли

Всёесли

Всёесли

Реализация этой задачи:

  1. В конструкторе форм создать форму

  1. Нажать правую кнопку мыши, выбрать СВОЙСТВА \ СОБЫТИЯ и выбрать НАЖАТИЕ КНОПКИ

Нажать на … и войдём в редактор Visual Basic

  1. Написать следующий программный код:

Private Sub Кнопка0_Click()

Dim x As Single, y As Single, s As String

x = InputBox("x=", "ВВод х",. 5, 5)

If x < 0 Then

y = 1 + x

s = "x=" & Str(x) & "y=" & Str(y)

MsgBox s

Else

If x <= 5 Then

If x <> 0 Then

y = 1 / x

s = "x=" & Str(x) & "y=" & Str(y)

MsgBox s

Else

MsgBox "На 0 делить нельзя"

End If

Else

If x <= 7 Then

MsgBox "Функция не определена"

Else

y = 5

MsgBox Str(y)

End If

End If

End If

End Sub

Результат работы:

при х=-3

при х=0