Рис. 12.3
Управление выполнением программы
Наряду с рассмотренными выше элементами важным компонентом VBA являются элементы управления выполнением программы. Кроме операторов, которые вызывают подпрограммы или функции, таких основных элементов четыре:
• выход из программы или временная остановка ее выполнения;
• переход к другой части программы;
• организация циклов;
• выбор действий, которые должны производиться дальше.
В табл. 12.4 указаны ключевые операторы, которые позволяют управлять выполнением программы. Все они имеют определенный стандартный синтаксис. Вот несколько примеров.
1. Синтаксис инструкции On… GoSub:
On expression GoSub
Здесь expression – целое или округленное до целого число в диапазоне от 0 до 255, а destinationlist – список номеров строк или меток. Каждая из них соответствует значению, принимаемому выражением. 2. Синтаксис инструкции Do… Loop:
Do [(While|Until) condition]
[инструкции1]
[Exit Do]
[инструкции2]
Loop
Здесь condition – условие цикла; инструкции1 – операторы, которые многократно выполняются до тех пор, пока истинно условие цикла; инструкций – операторы, выполняющиеся, если условие цикла ложно. 3. Синтаксис инструкции If.Then.Else:
If [условия]
Then [условные операторы]
[Else операторы else]
End If
Для выполнения этой инструкции необходимо наличие хотя бы одного условия. Если условия истинны, выполняются условные операторы; в противном случае – операторы else. Инструкция должна заканчиваться строкой End If. Таблица 12.4
Программирование приложений с помощью VBA
Что может делать пользователь с помощью VBA? Ответ очень прост: все. К сожалению, ни в одной книге нельзя рассмотреть все вероятные сферы программирования, в которых вы найдете применение возможностям VBA. Поэтому ограничимся тем, что нас непосредственно интересует, – созданием БД.
Когда мы формируем новую базу данных, то хотим сделать ее удобной для пользователей. Однако у каждого из них свои взгляды на эти удобства, и нередко сервис базы данных приходится дорабатывать. Примеры, которыми мы будем иллюстрировать использование VBA, взяты именно из этой области.
Практическая логика подсказывает: если какую-то задачу можно решить штатными средствами Access 2002 (стандартные запросы, макросы), то так и следует поступить. Обращение к VBA оправдано тогда, когда средства, заложенные в Access, либо не позволяют добиться нужного результата, либо предлагают сложное и громоздкое решение.
Предупреждение дублирования записей при вводе их из формы
В главе 11 мы обсуждали вопрос об очистке базы данных от повторяющихся записей, которые попали в таблицы, и выяснили, что этот механизм может работать и в профилактическом режиме, предотвращая попадание дубликатов при вводе записей.
А теперь покажем, как решить ту же задачу средствами VBA.
Сначала решим, как будет запускаться создаваемая нами программа. Очевидно, что проверка на наличие дубликатов должна проводиться не только для определенного поля, но и для комбинации полей. Естественно, тестирование начинается с того момента, когда в проверяемое поле вводится какая-либо информация, иначе просто нечего тестировать. Следовательно, надо «привязать» создаваемую программу к какому-либо свойству проверяемого поля. Например, возьмем поле Название фирмы.Откройте окно его свойств, где есть несколько подходящих для нашей цели параметров: После обновления, Нажать клавишу, Изменение, Потеря фокусаи др. Выберите свойство Потеря фокусаи щелкните по строке, которая ему соответствует. Теперь активизируйте кнопку
Откроется окно Построитель.В нем вы можете выбрать один из трех вариантов обработки свойства (см. рис. 12.4):
• построитель выражений;
• построитель макросов;
• построитель программ.
Рис. 12.4
О построителе выражений мы поговорим несколько позже; построитель макросов – это конструктор, уже рассмотренный в предыдущей главе. Наконец, построитель программ открывает окно модуля, которое было выведено на рис. 12.2, хотя и содержало другую информацию. Чтобы начать создание процедуры, выберите именно эту третью опцию. Тогда в окне свойств поля Название_фирмы_установится режим Процедура обработки событий,как показано на рис. 12.5, и откроется окно модуля (см. рис. 12.6). Оно примечательно следующим.
Рис. 12.5
Рис. 12.6
Хотя процедуры еще нет и вы даже не приступили к ее созданию, в этом окне по умолчанию уже появятся операторы, обязательные для будущей программы.
Читать дальше
Конец ознакомительного отрывка
Купить книгу