Отправляет email-рассылки с помощью сервиса Sendsay

СУБД MS Access 2003 -это просто

  Все выпуски  

СУБД MS Access 2003 -это просто. Урок 35. Cоздание модуля обработки событий в Access 2003.


Урок №35 

Cоздание модуля обработки некоторого события в Access 2003

Здравствуйте, уважаемые подписчики!

 Сегодня мы рассмотрим создание процедур обработки события Click.

 Рассмотрим одну из процедур обработки события Click, изложенных на страничке "Создание модуля формы в СУБД Access 2003". В нашем случае событие (нажатие кнопки) происходит, когда пользователь щелкает левой клавишей мыши на командной кнопке cmdPusk. В окне редактора кода Training_students_O - Form_FormaP (Code), скриншот которого представлен на рисунке 1, отображается рассматриваемая заготовка модуля.

для содержания
Рис. 1

Для завершения процесса создания модуля обработки события необходимо в заготовку модуля (рис.1) между операторами Sub cmdPusk_Click () и End Sub вставить соответствующую процедуру. Процедуру обработки событий можно самостоятельно написать непосредственно в окне редактора кода или использовать код модуля полученный в результате преобразования макроса в процедуру. Самый простой способ создания модуля - это преобразовать макрос в процедуру, а затем скопировать код VBA в модуль формы Form_FormaP. Для этих целей можно использовать, например, макрос "Откр_запрос", созданный в базе данных Training_students_O. Этот макрос надо преобразовать в модуль и присвоить ему имя "Преобразованный макрос-Откр_запрос".

Технология преобразования макроса в модуль. Сначала в окне БД на вкладке Макросы надо щелкнуть правой клавишей мыши на макросе "Откр_запрос" и в контекстном меню  выбрать команду "Сохранить как". Откроется окно диалога Сохранение. В окне выбираем команду Сохранить, как Модуль, и щелкаем на кнопке ОК.

Откроется диалоговое окно "Преобразование макроса: Откр_запрос". В этом окне надо установить флажки и щелкнуть на кнопке Преобразовать. Появится сообщение "Преобразование закончено!", щелкнуть на кнопке ОК.

Откроется редактор VB. В окне "Projekt - Деканат" в директории Modules появится новый стандартный модуль: "Преобразованный макрос: Откр_запрос".

А в окне редактора кода (Code) будет отображаться код программы на Visual Basic.

для содержаниядля содержания
Рис. 2

В коде преобразованного макроса можно увидеть раздел объявлений "Option Compare Database" или инструкций в верхней части окна, далее помещена строка: ' Откр_запрос. Запись в строке после апострофа - это комментарий. Затем между операторами Function Откр_запрос () и End Function находятся инструкции. Необходимо отметить, что инструкция представляет собой одну строку текста, т.е. начинается и заканчивается на одной строке. Если в строке находится несколько инструкций, то они разделяются двоеточиями. Функция имеет имя и аргументы, которые помещаются в круглые скобки. Даже при отсутствии аргументов, круглые скобки после имени функции обязательны.

Первая инструкция "On Error GoTo Откр_запрос_Err" процедуры указывает на обработку ошибок. При возникновении ошибки "Откр_запрос_Err" будет выполняться инструкция "MsgBox", которая выдает диалоговое окно с описанием ошибки "Error$". $ означает, что результат функции выдается в виде строки. При этом Resume передает управление инструкции Exit Function через инструкцию Откр_запрос_Exit и метку Откр_запрос_Exit, в результате осуществляется выход из процедуры. Если  макрокоманда OpenQuery выполняется без ошибок, то следующая за ней инструкция "Exit Function" обеспечивает выход из процедуры.

Основная часть работы по обработке событий выполняется оператором (процедурой): DoCmd.OpenQuery "Успеваемость студентов", acViewNormal, acEdit. Где DoCmd - процедура класса (DoCmd инструкция) предназначена для работы с записями в VB. Инструкция DoCmd или объект DoCmd позволяет выполнять макрокоманды с помощью процедуры на VB. Инструкция DoCmd имеет следующий формат: DoCmd макрокоманда аргументы.

OpenQuery - это макрокоманда "Открыть запрос". DoCmd.OpenQuery - этот оператор выполняет те же действия, что и запрос на выборку "Успеваемость студентов" на вкладке Запрос или макрос "Откр_запрос" на вкладке Макросы. Макрокоманда OpenQuery имеет три аргумента. Первый аргумент - это имя запроса: "Успеваемость студентов". Второй - режим: acViewNormal - устанавливается по умолчанию для печати формы. Третий аргумент - режим данных: acEdit - режим изменения данных.

Выделяем и копируем оператор (процедуру): DoCmd. OpenQuery "Успеваемость_студентов", acViewNormal, acEdit. Затем вставляем его в заготовку модуля по обработке событий между операторами Sub cmdPusk_Click () и End Sub.

для содержаниядля содержания
Рис. 3

Таким образом, создаем модуль обработки события Click (нажатия кнопки) объекта cmdPusk. Теперь запрос "Успеваемость_студентов" будет запускаться после выполнения такого события как нажатие кнопки Пуск на форме FormaP. Для этого переходим в окно базы данных на вкладку Формы, выделяем FormaP и щелкаем на кнопке Открыть. Откроется форма "FormaP: форма".

Щелкаем на кнопке "Пуск", запускается процедура обработки события и в результате откроется запрос "Успеваемость студентов: запрос на выборку".

для содержания
Рис. 4

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

С уважением, Владимир Ткаченко

 Обучение в интернет информатике, основам компьютерных сетей и телекоммуникаций 

________________________________________________________________________________

При перепечатке материалов прямая активная ссылка на http://www.lessons-tva.info обязательна
Copyright Обучение в Интернет, 2010. All Rights Reserved.
Vladimir Tkachenko

В избранное