Разработчикам приложений ACCESS нужен набор процедур для отклика на различные события, например, внесение изменений в поле или щелчок на кнопке. Код процедуры обработки события привязывается к событию, которое может произойти при работе с формой, отчетом или элементом управления. Результат выполнения процедуры-функции обычно применяется:
- в качестве значения по умолчанию для поля таблицы;
- в качестве значения критерия для запросов или фильтров;
- в качестве содержимого поля.
Хотя конкретный вид процедуры зависит от события и желаемого отклика, можно предложить общую последовательность действий по созданию процедуры обработки события.
- Открыть нужную форму или отчет в режиме конструктора. Если необходимо привязать процедуру к элементу управления, выбрать этот элемент.
- Открыть окно свойств формы, отчета или элемента управления.
- Открыть вкладку События.
- Выполнить щелчок на строке свойства того события, которое должно запускать процедуру. Например, если процедура должна запускаться в ответ на изменение пользователем данных, выполнить щелчок на свойстве После обновления.
- Выполнить щелчок по кнопке с тремя точками, чтобы открыть диалоговое окно Построитель.
- В этом окне выполнить двойной щелчок мышью на строке Программы. Откроется окно редактора Visual Basic, в котором автоматически появится начальная и конечная строки процедуры.
- Ввести операторы, образующие код процедуры.
Для повышения удобочитаемости кода процедуры, вводимого между ограничительными операторами, применяют приемы структурирования. Один из таких приемов заключается в том, что все операторы процедуры записываются с отступом от начала строки. Для создания отступа можно использовать клавишу Tab. По умолчанию позиции табуляции установлены через четыре символа.
Посредством отступов выделяют вложенные циклы и условные операторы внутри процедуры.
Тексты программ принято снабжать комментариями. В начале каждой строки комментария ставится апостроф, и такие строки не влияют на выполнение программы, а при синтаксическом анализе и компилировании - пропускаются. Наряду с отступами ACCESS позволяет использовать различные шрифты и цвета для выделения фрагментов текста модуля.
Редактирование в окне модуля
Код модуля и тексты подпрограмм/функций редактируются также как документы в обычном текстовом редакторе. Для поиска процедуры в тексте модуля используется список процедур, находящийся в верхней части окна модуля.
При перемещении курсора из строки кода программа автоматически проверяет синтаксис этой строки и в случае обнаружения ошибки выводит на экран соответствующее сообщение.
В ACCESS при редактировании фрагментов кодов кроме общепринятых используются дополнительные комбинации клавиш: Ctrl + Y позволяет вставить в буфер строку, в которой находится курсор, не выполняя его маркировку; F3 и Shift + F3 позволяют просмотреть все фрагменты модуля, в которых встречается искомая последовательность символов.
Аргументы процедуры
Благодаря аргументам пользователь имеет возможность управлять выполнением процедуры. При описании процедуры, зависящей от аргументов, имя аргумента принято вводить в скобках за именем процедуры в строке с ключевым словом Function/Sub. Например:
Function Рубли_в_Доллары (Коэффициент)
При вызове такой функции значение аргумента указывается в скобках после имени функции Например:
=Рубли_в_Доллары (4500)
Вызов процедуры, имеющей аргументы, должен сопровождаться заданием значений для всех объявленных аргументов. Эти значения перечисляются в том же порядке, что и аргументы при объявлении и разделяются запятыми. В пользовательских функциях или модулях в качестве аргументов могут применяться выражения.
8.6. Основные операторы VBA