
- •Назначение и содержание этапа разработки приложения
- •1. Изучение предметной области бд и требований пользователей
- •2. Создание
- •3. Нормализация
- •4. Физическое
- •5. Разработка приложения бд
- •Виды форм
- •Создание форм
- •Обработка событий формы
- •Обработка событий в формах с помощью макросов
- •Разработка командного интерфейса бд
- •Установка параметров запуска приложения бд
Обработка событий в формах с помощью макросов
Для обработки событий в формах широко используются макросы, хотя язык VBA для этих целей является значительно более мощным и гибким средством. Несмотря на это, для решения многих задач вполне достаточно применения макросов. Макросы и процедуры VBA , таким образом, являются альтернативными способами обработки событий.
Чтобы в ответ на событие запускался определенный макрос, нужно открыть окно свойств для формы, отчета или элемента управления, выделить соответствующее событие, например, нажатие кнопки мыши или нажатие клавиши, и установить (назначить) вызов нужного макроса из списка имеющихся макросов. Предварительно такой макрос должен существовать в наборе макросов или специально создан.
Т.н. внедренный макрос входит в объект как его составная часть и существует вместе с объектом. Для его создания, нужно нажать кнопку с тремя точками, расположенную в правой части названия макроса. Откроется специальное окно редактирования внедренного макроса, который будет принадлежать только конкретному объекту.
Справка по созданию макросов: Help Access, «Создание макроса».
Рассмотрим пример обработки события нажатия кнопки с помощью макроса. Обратимся для этого к БД «Деятельность фирмы». Схема данных этой базы:
Среди таблиц БД имеется таблица «Товары», в которой есть поле «Количество»:
При отпуске того или иного товара заказчику необходимо уменьшать количество соответствующего товара в соответствии с выдаваемым количеством.
Для этого введем в форму «Товары» кнопку «Отпустить товар»
При нажатии этой кнопки будет запускаться макрос, выполняющий обновления поля «Количество» для соответствующего наименования товара.
SQL – код запроса с именем «Товары1»:
UPDATE Товары SET Товары.Количество = Количество- [введите количество]
WHERE (Товары.Наименование)=[Введите наименование];
Это обычный запрос на обновление (UPDATE) с двумя параметрами.
В режиме Конструктора форм поместим на форму кнопку «Отпустить товар»:
Мастер создания кнопок (он должен быть включенным!) вызовет первое окно, в котором выберем категорию «Разное» и действие «Выполнить запрос».
Затем нажмем кнопку «Далее», появится окно №2 для выбора нужного запроса
В двух последующих окнах Мастера выберем подпись и имя для кнопки:
Вместо надписи на кнопке можно разместить рисунок (изображение).
В результате мы создали процедуру обработки события нажатия кнопки (Click) для обновления поля «Количество» при выдаче товара заказчику.
Пример использования этой операции. Начальное состояние таблицы «Товары»:
Исполнение запроса по обновлению количества при нажатии кнопки «Отпустить товар»:
Состояние таблицы после операции выдачи:
Подобный подход по использованию макроса для обновления данных может быть использован в соответствующих процедурах поступления и выдачи товаров на склад, выдачи лекарств, выдачи книг читателям библиотеки, продажи билета и т.п.
Выше в предшествующем разделе этой лекции показаны примеры обработки событий с помощью процедур VBA, что требует более высокого уровня подготовки по программированию. Но зато и возможности значительно шире.