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

Обработка событий в формах с помощью макросов

Для обработки событий в формах широко используются макросы, хотя язык VBA для этих целей является значительно более мощным и гибким средством. Несмотря на это, для решения многих задач вполне достаточно применения макросов. Макросы и процедуры VBA , таким образом, являются альтернативными способами обработки событий.

Чтобы в ответ на событие запускался определенный макрос, нужно открыть окно свойств для формы, отчета или элемента управления, выделить соответствующее событие, например, нажатие кнопки мыши или нажатие клавиши, и установить (назначить) вызов нужного макроса из списка имеющихся макросов. Предварительно такой макрос должен существовать в наборе макросов или специально создан.

Т.н. внедренный макрос входит в объект как его составная часть и существует вместе с объектом. Для его создания, нужно нажать кнопку с тремя точками, расположенную в правой части названия макроса. Откроется специальное окно редактирования внедренного макроса, который будет принадлежать только конкретному объекту.

Справка по созданию макросов: Help Access, «Создание макроса».

Рассмотрим пример обработки события нажатия кнопки с помощью макроса. Обратимся для этого к БД «Деятельность фирмы». Схема данных этой базы:

Среди таблиц БД имеется таблица «Товары», в которой есть поле «Количество»:

При отпуске того или иного товара заказчику необходимо уменьшать количество соответствующего товара в соответствии с выдаваемым количеством.

Для этого введем в форму «Товары» кнопку «Отпустить товар»

При нажатии этой кнопки будет запускаться макрос, выполняющий обновления поля «Количество» для соответствующего наименования товара.

SQL – код запроса с именем «Товары1»:

UPDATE Товары SET Товары.Количество = Количество- [введите количество]

WHERE (Товары.Наименование)=[Введите наименование];

Это обычный запрос на обновление (UPDATE) с двумя параметрами.

В режиме Конструктора форм поместим на форму кнопку «Отпустить товар»:

Мастер создания кнопок (он должен быть включенным!) вызовет первое окно, в котором выберем категорию «Разное» и действие «Выполнить запрос».

Затем нажмем кнопку «Далее», появится окно №2 для выбора нужного запроса

В двух последующих окнах Мастера выберем подпись и имя для кнопки:

Вместо надписи на кнопке можно разместить рисунок (изображение).

В результате мы создали процедуру обработки события нажатия кнопки (Click) для обновления поля «Количество» при выдаче товара заказчику.

Пример использования этой операции. Начальное состояние таблицы «Товары»:

Исполнение запроса по обновлению количества при нажатии кнопки «Отпустить товар»:

Состояние таблицы после операции выдачи:

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

Выше в предшествующем разделе этой лекции показаны примеры обработки событий с помощью процедур VBA, что требует более высокого уровня подготовки по программированию. Но зато и возможности значительно шире.