Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2020
Просмотров: 7938
Скачиваний: 25

Часть
Основы конструирования программ
Темы занятий
5-й час. Программирование управляющих структур
6-й час.
базами данных
7-й час. Расширенные типы данных

5-й час
Программирование
управляющих структур
Управляющие структуры в
коде подобны постовому, регулирующему до-
рожное движение. Каждая отдельная строка кода решает свою маленькую задачу — вычис-
ляет выражение, выводит данные в файл или загружает их с Web-страницы Internet. Необ-
ходимо лишь, чтобы все участники действовали согласованно в достижении общей цели.
Предложенная метафора с постовым-регулировщиком может быть заменена и
другими. В процессе написания программы вам, возможно, удобнее представлять себе
оркестр,
каждый музыкант под неусыпным руководством дирижера исполняет
собственную партию, достигая гармонии с остальными. Подойдет и модель действий
авиадиспетчера, водителя автобуса и т.п. Все перечисленные примеры с достаточной
степенью точности отражают сущность программных управляющих структур, которые
предоставляют возможность изменения порядка выполнения операций в соответствии
с алгоритмом решения задачи и текущим содержимым объектов данных.
Вы вправе спросить, каким образом программе удается выполнять действия в разном
порядке, успешно достигая конечного результата. На самом деле, программа не обязатель-
но выполняет операции последовательно, в четком порядке, поскольку она работает с дан-
ными, и определенные ее действия подходят для одного набора значений данных, а другие
уместны в иных случаях. Хороший и понятный пример — расчет подоходного налога. До-
ходы различной величины облагаются налогом на основании соответствующей ставки; с
ростом уровня доходов увеличивается и ставка налогообложения. Таким образом, значения
данных, можно сказать, "управляют" поведением программы, которая их обрабатывает.
В этой главе мы рассмотрим вопросы логической организации программного кода.
Основные темы занятия.
• Как создавать управляющие структуры.
• Использование конструкции Select Case.
• Приемы построения нелинейного программного кода.
• Применение массивов и коллекций данных.

Кто следит за порядком на дороге
В своих рассуждениях об управляющих структурах программы будем следовать мета-
форе постового-регулировщика — автору книги она по душе (нет, отдельные сотрудники
автоинспекции мне как раз не симпатичны, но абстрактная модель, представляющая
личность, которая следит за происходящим в программе, — совсем другое дело).
Одна из самых употребительных конструкций языка
Access
VBA — это выражение
If ... Then . . . End
If (условие) Then
' одна или несколько строк кода
End If
термин
Далее употребляется термин
выражение.
Оператор If является выраже-
нием, поскольку выступает стандартной формой кода, выполняемого по
условию.
С помощью комментария Одна или несколько строк кода мы обозначили ме-
сто — между первой строкой конструкции, содержащей служебные слова If, Then, и
последней, End
— в котором можно расположить любое число строк кода. Услов-
ноеВыражение — самая главная часть управляющей структуры, которая содержит лю-
бое выражение, возвращающее результат типа Boolean. В условном выражении могут
использоваться операторы сравнения и логические операторы (о них речь шла на
прошлом занятии), а также результаты вызова функций, возвращающих булевы зна-
чения. (Подробнее о функциях см. главу "8-й час. Декомпозиция
Сущность выражения
состоит в том, что последующие строки кода (до строки End If)
выполняются только в том случае, когда результат вычисления условного выражения,
заключенного в скобки, равен True. Листинг
содержит несколько полезных примеров
использования конструкции If, которые вам следует внимательно изучить. (Приведенный
код можно проверить, набрав и откомпилировав его в окне редактора Microsoft Visual Basic,
либо исполнить непосредственно с помощью средств окна Immediate.)
Листинг
Примеры использования конструкции
Then ... End If
1
2
3
4
5
б
7
8
9
10:
11:
12:
13
:
14:
15:
16:
18:
19:
2 0 :
Sub IfTest( )
Const PROMPT = "Введите значение
Const TITLE
"Подоходный налог"
Const
= "Поздравляем, с вас возьмут
Dim
As Double
=
PROMPT, TITLE, "40000"
If (Taxablelncome > 40000) Then
End If
Const PROMPT_1 = "Введите имя
Const TITLE_1 = "Имя пользователя"
Const
= "Администратор, добро
Dim
As String
= "guest"
UserName = InputBox ( PROMPT_1, TITLE_1, UserName)
If (UserName = "Admin") Then
Часть II. Основы конструирования программ

21:
23:
WELCOME ADMIN USER
E n d
I f
End Sub
Напомним: вы сможете протестировать код
если введете
в окне редактора Microsoft Visual Basic и воспользуетесь
клавишей <
для последовательного исполнения по строкам.
Анализ
Первое, что нельзя не отметить, взглянув на
листинга 5 1 -
екст выглядит как
довольно сложная
В
сах 1 и 23 находятся
определяющие начало и конец процеду-
В строках 2, 3 и 4 объявляются и инициализируются имено-
ванные символьные константы; первая из них (PROMPT), например,
значение "Введите значение
В строке 6 объявлена
Taxable Income типа Double. Тип Double
с плавающей запятой. В строке 8
две функции
код выполняется справа налево, т.е. первой вызывается вложен-
ная стандартная функция
(В данный момент воспринимайте
обращения к функции InputBox таким, каким он
если же
им не
вникнуть в подробности, обратитесь за помощью к опе-
системе Access.) При вызове
InputBox
диалоговое окно, показанное на рис. 5.1.
Рис. 5.1. Вызов стандартной функции InputBox
к
соответ-
ствующего диалогового окна
5-й час. Программирование управляющих структур
89