Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД7.doc
Скачиваний:
2
Добавлен:
29.08.2019
Размер:
143.36 Кб
Скачать

5.2. Создание приложений

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

Access обеспечивает характеристики событий для каждого элемента управления, который помещается в форму или отчет, и обработка события представляет собой программный код, выполняемый при возникновении этого события. Код непосредственно присоединяется к форме или отчету, содержащему обрабатываемое событие. Например, после щелчка на командной кнопке Выход происходит выход из формы. Процедура командной кнопки Выход имеет вид:

Sub Button_Click()

DoCmd.Close

End Sub

Подпрограмма Button_Click() назначается событию щелчка на командной кнопке Выход. Когда пользователь щелкнет на этой кнопке, будет выполнена команда DoCmd.Close, чтобы закрыть форму.

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

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

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

Для создания модуля нужно выбрать карточку Модули в окне БД и нажать кнопку Создать. Access создает новый Модуль1 и помещает строку текста в первую строку окна, начиная модуль со строки Option Compare Database.

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

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

Каждый модуль содержит по крайней мере два раздела:

  • раздел для описания;

  • раздел для каждой процедуры.

Раздел описания используется для объявления (определения) переменных, используемых в процедурах. Здесь можно объявлять переменные, используемые только процедурами данного модуля, или переменные всех модулей БД. Access допускает и неявные объявления переменных. Однако, если использован оператор описания Option Explicit, то следует объявит все переменные, используемые процедурами модуля. Это, хотя и требует больших усилий, но ускоряет отладку и выполнение кода модуля.

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

  1. Поместим курсор в пустую строку окна модуля.

  2. Введем Sub BeepWarning для наименования модуля.

  3. Enter.

После нажатия Enter Access автоматически выполнит следующие действия:

  • поместит процедуру BeepWarning в поле Процедура;

  • поместит круглые скобки в конец имени процедуры;

  • добавит к процедуре оператор End Sub.

Теперь, находясь непосредственно в разделе редактирования процедуры, нужно ввести строки кода.

Sub BeepWarning(xBeeps)

Dim xBeeps As Integer

For xBeeps = 1 To nBeeps

Beep

Next xBeeps

End Sub

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

BeepWarning 5

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

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

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

  • выбрав команду Обработка событий из контекстного меню;

  • введя текст Процедура обработки событий или выбрав эту опцию из списка свойств события.

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

  1. Выбрать в окне БД карточку Модули.

  2. Дважды щелкнуть на имени модуля, содержащего нужную процедуру.

  3. Выбрать процедуру из раскрывающегося списка Процедура (для выбора любой другой процедуры в другом модуле нужно нажать клавишу F2 или выполнить команду Вид | Просмотр объектов, при этом Access выведет диалоговое окно Просмотр объектов).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]