Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Использование модулей в MS Access




Теперь, когда у вас уже есть небольшой опыт создания макроса, рассмотрим пример использования модуля в MS Access. Для создания модулей необходимо иметь первоначальные знания по языку программирования Visual Basic. Прежде чем приступить к созданию модуля, рассмотрим несколько ключевых понятий. В MS Access существуют два основных типа модулей: модули класса и стандартные модули. Каждая процедура в модуле может быть либо процедурой-функцией Function, либо процедурой-подпрограммой Sub.

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

При создании первой процедуры обработки события для формы или отчета автоматически создается связанный с ней модуль формы или отчета. Для просмотра модуля для формы или отчета достаточно нажать кнопку «Программа» на панели инструментов в режиме конструктора.

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

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

Для просмотра списка стандартных модулей базы данных щелкните Модули в списке Объекты в окне базы данных. Формы, отчеты и стандартные модули выводятся также в окне просмотра объектов.

Процедуры: общие сведения

В языке Visual Basic замкнутыми программными единицами являются процедуры. Процедура содержит набор инструкций и методов, с помощью которых выполняются действия или рассчитывается значение. Например, в следующей процедуре обработки события метод OpenForm открывает форму «Заказы»:

Private Sub ОткрытиеФормыЗаказы_Сlick()

DoCmd.OpenForm «Заказы»

End Sub

Существуют процедуры двух типов: процедура-подпрограмма Sub и процедура-функция Function.

Процедура-подпрограмма Sub, аналогично инструкциям Visual Basic, выполняет действие или набор действий, но не возвращает значение. Пользователь имеет возможность создавать процедуры Sub самостоятельно или использовать процедуры обработки событий, определенные в Microsoft Access.

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

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

Процедура-функция Function (часто такие процедуры называют просто функциями) возвращает значение, например, полученное в результате расчетов. Visual Basic включает ряд встроенных функций; например, функция Now возвращает текущее значение даты и времени. Выражения, содержащие функции, широко используются в Microsoft Access, например, в аргументах инструкций или методах Visual Basic, при указании значений свойств и при определении условий в запросах или фильтрах. В дополнение к встроенным функциям пользователь имеет возможность самостоятельно создавать функции, которые называют специальными или пользовательскими функциями.

Ниже приводится пример процедуры Function с именем «НачалоСледующегоМесяца», которая возвращает дату первого дня следующего месяца:

Function НачалоСледующегоМесяца()

НачалоСледующегоМесяца=DateSerial(Yеаг(Now), Month(Now) +1,1)

End Function

Данная функция состоит из единственной инструкции присваивания, в которой результат выражения (стоящего справа от знака равенства) присваивается функции «НачалоСледующегоМесяца» (имя которой стоит слева от знака равенства). Результат рассчитывается с помощью встроенных функций Visual Basic DateSerial, Year, Now и Month.

После создания функции ее можно использовать в Microsoft Access в любых выражениях. Например, чтобы сделать дату первого дня следующего месяца значением, которое поле получает по умолчанию, следует в окне свойств определить свойство этого поля Значение по умолчанию (DefaultValue) с помощью следующего выражения: =НачалоСледующегоМесяца().

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

Процедуры Sub и Function могут принимать аргументы.

Создание пользовательских процедур Visual Basic для приложений. Используя в базе данных процедуры Visual Basic, можно управлять взаимодействием таблиц, форм, отчетов и запросов этой базы данных. Существует несколько типов процедур. Можно создать процедуру обработки события, добавив ее код в предопределенные шаблоны в модуле формы или модуле отчета. Можно также создавать собственные процедуры Function и процедуры Sub в стандартных модулях или в модулях класса (которые содержат модули форм и отчетов).

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

Создание пользовательской функции. Для создания пользовательской функции откройте модуль. Чтобы открыть новый стандартный модуль, щелкните в окне базы данных ярлык Модули в списке Объекты, а затем нажмите кнопку «Создать» на панели инструментов окна базы данных. Для того чтобы открыть существующий стандартный модуль, щелкните ярлык Модули в списке Объекты, выберите модуль, который требуется открыть, а затем нажмите кнопку «Конструктор». Чтобы открыть модуль формы или модуль отчета, откройте форму или отчет в режиме конструктора и нажмите кнопку «Программа» на панели инструментов.

Чтобы открыть новый модуль класса, не связанный с формой или отчетом, выберите команду Class Module в меню Insert. Для того чтобы открыть существующий модуль класса, щелкните ярлык Модули в списке Объекты, выберите модуль, который требуется открыть, а затем нажмите кнопку «Конструктор» на панели инструментов окна базы данных.

Объявите функцию, введя инструкцию Function. Введите имя функции, а следом все аргументы функции в круглых скобках. Например, следующая инструкция описания функции IsLoaded указывает строковый аргумент strFormName:





Поделиться с друзьями:


Дата добавления: 2016-11-23; Мы поможем в написании ваших работ!; просмотров: 6656 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

2464 - | 2389 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.