double arrow

Синтаксис. Sub имя_подпрограммы[(список аргументов с указанием типа данных)]


Sub имя_подпрограммы[(список аргументов с указанием типа данных)]

[операторы]

End Sub

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

Например, обработчик события в форме или отчёте должен иметь имя Form_имя_события или Report_имя_события. Эти имена, обычно, устанавливаются автоматически при выборе события.

Процедура обработки свойства создаёт пользовательское свойство объекта. Как правило, каждое пользовательское свойство реализуется парой процедур обработки свойств, одна из которых устанавливает значение свойство, а другая возвращает его значение. Процедура обработки свойства, устанавливающая его значение, начинается с оператора Property Let, если присваивается значение, или с оператора Property Set. если присваивается указатель на объект. Эти процедуры не возвращают значений. Процедуры, возвращающие значения свойств, начинаются с оператора Property Get. Все эти процедуры заканчиваются оператором End Property.

При создании процедур можно указать доступность процедуры для других модулей или область видимости процедуры. Cделать это можно с помощью ключевых слов Private и Public. По умолчанию, т.е. если не задана область видимости, процедуры считаются открытыми (Public). Такие процедуры можно вызывать из процедур, относящихся к другим модулям; закрытые процедуры (Private) доступны только для процедур содержащего её модуля.

В Access определены события для форм и отчетов, для разделов форм и отчетов, а также для элементов управления форм. Для таблиц, запросов и страниц доступа к данным события не определены.

Последовательности событий

Когда пользователь, процедура VBA или компьютер выполняет

какие-либо действия, последовательность событий распознается одним

или несколькими объектами. Приведем несколько примеров.

Щелчок кнопкой мыши

При щелчке левой кнопкой мыши на элементе управления в нем последовательно происходят три события:

o MouseDown (Кнопка вниз) — при нажатии кнопки мыши.

o MouseUp (Кнопка вверх) — при отпускании кнопки мыши.

o Click (Нажатие кнопки) — после того, как левая кнопка мыши была нажата и отпущена.

События MouseDown и MouseUp регистрируются элементом управления независимо от того, какая кнопка мыши нажата;

Событие же Click - только при нажатии левой кнопки мыши.

Щелчок на кнопке

Если элемент управления может получать фокус, в только что рассмотренной ситуации распознается еще несколько событий. Например, щелчок левой кнопкой мыши на кнопке вызывает последователь­ность из пяти событий:

o Enter (Вход) — до того, как кнопка фактически получит фокус от другого элемента управления той же формы, или если эта кнопка является первым элементом управления формы, который получает фокус при ее открытии.

o GotFocus (Получение фокуса) — после того, как кнопка получила фокус.

o MouseDown — при нажатии кнопки мыши.

o MouseUp — при отпускании кнопки мыши.

o Click — после того, как левая кнопка мыши была нажата и отпущена.

Изменение текста в поле или в поле со списком

Содержимое поля или поля со списком можно изменить с помощью клавиатуры. Не все клавиши вызы­вают передачу символа на экран (к таким клавишам относятся, например, клавиши Enter и Tab). В Win­dows символы, вводимые с клавиатуры и выводимые на экран, принадлежат набору символов ANSI. При нажатии клавиши, которой соответствует

символ из этого набора, символ появляется в поле. При попытке изменить

текст нажатием клавиши поле распознает четыре последовательных события:

o KeyDown (Клавиша вниз) - при нажатии любой клавиши

o KeyPress (Нажатие клавиш) - при нажатии клавиши, генерирующей символ

o Change (Изменение) - если совершено изменение содержимого поля или текстовой части поля со списком

o KeyUp (Клавиша вверх) - при отпускании любой клавиши

Поле

Если текст в поле был изменен с клавиатуры и затем пользователь попытался каким-либо способом обновить содержимое этого элемента управления, переходя к другому элементу управления формы, в поле происходят еще два события:

o BeforeUpdate (До обновления) — когда Access обнаруживает изменение непосредственно перед помещением измененных данных в буфер записи

o AfterUpdate (После обновления) — когда Access обнаруживает изменение значения в поле, сразу после помещения измененных данных в буфер записи.


Сейчас читают про: