- •Кафедра «Информационные технологии»
- •Основы программирования в СУБД MS Access
- •1.Выбор между использованием макросов
- •Когда используются макросы?
- •Когда используются макросы?
- •Когда используются программные модули на VBA?
- •Когда используются программные модули на VBA?
- •Когда используются программные модули на VBA?
- •Когда используются программные модули на VBA?
- •Когда используются программные модули на VBA?
- •Когда используются программные модули на VBA?
- •Когда используются программные модули на VBA?
- •2. Понятие модуля.
- •Стандартные модули
- •Модуль класса отличается от стандартного модуля тем, что, кроме процедур, он содержит описание
- •Способы создания модулей
- •1-й способ создания пустого модуля
- •Второй способ создания модуля
- •2-й способ создания модуля
- •2-й способ создания модуля (в MS Access 2003)
- •Способ создания модуля класса
- •Окно модуля
- •3. Модели объектов для работы с данными
- •Основные объекты и наборы модели объектов приложения MS Access 97
- •Набор Forms Содержит все открытые в данный момент формы
- •Объект
- •Объект Представляет программный Module модуль на языке VBA
- •Модель объектов приложения
- •продолжение схемы:
- •еще одно продолжение схемы:
- •Использование модели объектов Access
- •Объекты Form и Report
- •При частом обращении в процедуре к одному и тому же объекту, в частности,
- •Вместо полной ссылки на форму или отчет, код которых выполняется в
- •Объект Control
- •Объект Module и набор Modules
- •Для работы с объектом Module нужно
- •Объект DoCmd
- •Некоторые примеры использования объекта DoCmd:
- •DoCmd.GoToControl ”Год”
- •Модели объектов доступа к данным
- •Пример – модель объектов ADO 2.5
- •Объекты и наборы объектов ADO
- •Использование объектов доступа к данным
- •Объект Recordset
- •Объект Field
- •Пример формирования набора записей с помощью программы на VBA
- •4. Примеры модулей
- •Вызовите контекстное меню для объекта ПОЛЕ. Из контекстного меню выберите пункт СВОЙСТВА. Щелкните
- •Вызовите контекстное меню для объекта КНОПКА. Из контекстного меню выберите пункт СВОЙСТВА. Щелкните
- •Выделите объект кнопка “Ввод” и
- •Текст программы:
- •Пример 2
- •Процедуры обработки событий (нажатие соответствующих командных кнопок) хранятся в модуле формы.
- •Обработка события – нажатия на
- •Обработка события – нажатие на кнопку кнСброс
- •Пользовательская функция проверки правильности введенного пароля путем сравнения с паролем, хранящимся в таблице
Объект Представляет программный Module модуль на языке VBA
Набор |
Содержит все открытые в |
Modules |
данный момент модули |
Объект Запускает макрокоманду DoCmd Visual Basic
31
Модель объектов приложения
MS Access 2003
- характеризуется более сложной схемой:
продолжение схемы:
еще одно продолжение схемы:
Видно, что в модель объектов для приложения Access 2003 входят объекты модели для приложения Access 97, а также добавляется много новых объектов.
34
Использование модели объектов Access
Объект Application - занимает
верхний уровень в иерархии объектов приложения Access и включает в себя остальные объекты и наборы.
Этот объект выбирается по умолчанию, поэтому для работы с ним в Access явной ссылки на него не требуется. Такая ссылка
нужна при вызове объектов Access из
другого приложения, например, из Excel. Объект имеет свойства и методы для извлечения информации о выполняемом35
приложении.
Объекты Form и Report
- обладают похожими характеристиками и способами использования. Для работы с ними нужно открыть форму или отчет, а затем сделать ссылку на открытый объект в наборе Forms или Reports. Для открытия формы или отчета из VBA используются методы OpenForm
или OpenReport объекта DoCmd (представляет выполняемую команду) в инструкциях:
DoCmd.OpenForm имя_формы DoCmd.OpenReport имя_отчета
где имя_формы, имя_отчёта - имя открываемой формы или отчета36 .
При частом обращении в процедуре к одному и тому же объекту, в частности, к объекту Form или Report, лучше объявить
объектную переменную, которая будет представлять данный объект.
Например, для получения ссылок на
форму и присвоения этих ссылок объектным
переменным frm и rpt возможна инструкция:
Dim frm As Form, rpt As Report
Set frm=Forms![Товары]
Set rpt = Reports![Клиенты]
37
Вместо полной ссылки на форму или отчет, код которых выполняется в
данный момент, можно использовать
свойство Me, возвращающее такую
ссылку.
При этом строки 2 и 3 из предыдущего
примера имеют вид:
Set frm = Me
Set rpt = Me
38
Объект Control
Примеры элементов управления: CheckBox - флажок, ComboBox - поле со списком, Label -надпись, CommandButton - командная кнопка,
PageBreak - разрыв страницы, TextBox - поле. Cсылка на элемент управления формы/отчета
или на свойство элемента управления:
Forms![имя_формы]![имя_элемента_управления]
Me![ имя_элемента_управления]
Forms![имя_формы]![имя_элемента_управления]. свойство
Me![ имя_элемента_управления].свойство39
Объект Module и набор Modules
Объект Module представляет модуль в MS Access. Объекты Module содержатся в наборе Modules, который является элементом объекта Application. Единственный объект Module может содержаться в объектах Form и Report.
Весь набор модулей в БД Access образует проект VBA для этой БД. Набор Modules содержит все открытые в данный момент для редактирования модули. Для открытия
модуля в программе VBA используется метод
40
OpenModule объекта DoCmd.