- •Лабораторная работа 6. Средства автоматизации в Access (vba)
- •Применение условий в макросах
- •Запуск макроса из окна Конструктора макросов
- •Запуск макроса из области переходов
- •Запуск макроса при открытии базы данных
- •Запуск макроса из другого макроса
- •Вызов макроса из процедуры vba
- •Применение макросов
- •Работа с данными в формах и отчетах
- •Ссылки на формы, отчеты и их свойства
- •Ссылки на подчиненные формы и отчеты
- •Перемещение по данным
- •Обновление данных в формах и элементах управления
- •После подтверждения Del
- •До вставки
- •После вставки
- •После обновления
- •Изменение
- •Отсутствие в списке
- •Внесены изменения
- •При обновлении
- •Уход с записи
- •Получение фокуса
- •Потеря фокуса
- •Включение
- •Отключение
- •События клавиатуры
- •Клавиша вниз и Клавиша вверх
- •Нажатие клавиши
- •События мыши
- •Нажатие кнопки
- •Двойное нажатие кнопки
- •Перемещение указателя
- •Колесико мыши
- •Кнопка вниз и Кнопка вверх
- •События печати
- •Форматирование
- •Возврат
- •Фильтрация
- •События окна
- •Открытие
- •Закрытие
- •Загрузка
- •Выгрузка
- •Изменение размера
- •Событие ошибок
- •Событие таймера
- •Последовательности событий Access
- •Последовательность событий фокуса для элементов управления в формах
- •Последовательность событий изменения данных в элементе управления
- •Последовательность событий в форме, связанных с записями
- •Последовательность событий в формах
- •Последовательность событий клавиатуры и мыши
- •Последовательность событий в отчетах
Последовательность событий в формах
При открытии формы происходит следующая цепочка событий: Открытие => Загрузка => Изменение размера => Включение => Текущая запись => Вход => Получение фокуса
События Вход (Enter) и Получение фокуса (GetFocus) возникают для первого элемента в первой записи. Если форма не имеет видимых или доступных элементов управления, то последовательность событий несколько иная: Открытие => Загрузка => Изменение размера => Включение => Получение фокуса => Текущая запись
В этом случае событие Получение фокуса (GetFocus) относится к форме. При закрытии формы последовательность событий следующая: Выход => Потеря фокуса => Выгрузка => Отключение => Закрытие
То есть сначала теряет фокус последний элемент в форме, а затем выполняются события для формы. Если в форме не было видимых или доступных элементов, то последовательность другая: Выгрузка => Потеря фокуса (ф) => Отключение => Закрытие
При переключении между двумя открытыми формами последовательность событий следующая: Потеря фокуса (э1) => Отключение (ф!) => Включение (ф2) => Вход (э2) => Получение фокуса (э2)
Если из открытой формы открывают другую форму, то сначала в открываемой форме происходят события Открытие (Open), Загрузка (Load) и Изменение размера (Resize), и только после этого в первой форме произойдет событие Отключение (Deactivate): Открытие (ф2) => Загрузка (ф2) => Изменение размера (ф2) => Отключение (ф1) => Включение (ф2) => Текущая запись (ф2)
Это дает возможность проконтролировать открытие второй формы. Кроме того, событие Включение (Activate) происходит каждый раз, когда форма получает фокус, а события Открытие (Open) и Загрузка (Load) не происходят, если форма уже открыта, даже если переход в эту форму выполняется с помощью макрокоманды ОткрытьФорму (OpenForm). Событие Отключение (Deactivate) для формы не происходит, если фокус переносится в диалоговое окно.
Если открываемая форма содержит подчиненные формы, то сначала загружаются подчиненные формы и осуществляются все события в них, которые обычно происходят при открытии формы, кроме события Включение (Activate) — оно не возникает. Затем загружается главная форма в обычном порядке и для нее выполняется событие Включение (Activate).
Аналогично при закрытии такой формы сначала выгружаются все подчиненные формы, но в них не возникает событие Отключение (Deactivate). События при этом происходят в следующем порядке:
События для элементов подчиненной формы, например Выход (Exit) и Потеря фокуса (LostFocus).
События элементов управления в главной форме, в том числе для того элемента, который содержит подчиненную форму.
События для главной формы.
События для подчиненной формы.
Последовательность событий клавиатуры и мыши
При нажатии и отпускании любой клавиши на клавиатуре в том случае, если фокус находится в одном из элементов управления формы, возникает следующая цепочка событий: Клавиша вниз => Нажатие клавиши => Клавиша вверх
При щелчке мышью на элементе управления формы, соответственно: Кнопка вниз => Кнопка вверх => Нажатие кнопки
Об особенностях этих событий подробно говорилось выше при их описании, поэтому сейчас мы позволим себе не повторяться.