Объектная
модель Microsoft Access 2002
Объектная
модель Microsoft Access 2002 реализована в виде набора объектов, собранных в
библиотеке Access. Основным элементом в иерархии объектов библиотеки Access
является объект Application. Он содержит ссылки на все объекты и семейства объектов
Microsoft Access. Каждый объект из библиотеки Access имеет в качестве свойства
объект Application (в том числе и сам объект Application имеет свойство Application),
который ссылается на активное приложение Microsoft Access.
Иерархия объектов
и семейств объектов Microsoft Access 2002 представлена на рис. 13.1 — 13.3.
Названия объектов, являющихся элементами семейств, приведены в скобках. Новые
объекты, появившиеся в Microsoft Access 2002, отмечены звездочкой. Иерархия
объектов, представленная на рисунках, образована следующим образом:
Если свойство
объекта представляет собой ссылку на объект, определенный в другой библиотеке
(не в библиотеке Access), для него приводится название этой библиотеки.
Рис. 13.1.
Первый уровень иерархии объектной модели Microsoft Access 2002
Рис. 13.2.
Второй уровень иерархии объектной модели Microsoft Access 2002 — объекты
баз данных
Рис. 13.3.
Второй уровень иерархии объектной модели Microsoft Access 2002 — объекты
для работы с базой данных и проектом
Глядя на схемы
объектной модели, можно определить какие объекты описывают приложение, как они
связаны между собой и как составить ссылку для доступа к конкретному объекту.
Табл. 13.3
содержит описание объектов Microsoft Access 2002, определенных в библиотеке
Access, если не указана другая библиотека объектов.
Таблица
13.3.
Описание основных элементов объектной модели Microsoft Access 2002
Объект
|
Тип |
Описание
|
|
Application
|
Объект | Ссылается на активное приложение Microsoft Access. Используется для управления приложением. Этот объект является" СОМ-компонентом и может быть использован другим приложением, которое поддерживает Automation | |
forms
|
Семейство |
Содержит объекты
form, соответствующие
|
|
|
всем открытым
в данный момент формам в
|
||
|
базе данных Access
|
||
form
|
Объект |
Ссылается на
конкретную форму Access,
|
|
|
описывает свойства
формы, элементы
|
||
|
управления и
модуль, содержащий процедуры формы. Каждый объект form содержит в
|
||
|
качестве свойства
по умолчанию семейство
|
||
|
Controls, представляющее
элементы
|
||
|
управления данной
формы. Поэтому доступ
|
||
|
к элементам управления
формы может осу-
|
||
|
ществляться двумя
способами: явно (как к
|
||
|
элементу семейства
Controls) и неявно
|
||
|
(как к элементу
объекта form):
|
||
|
forms ! Заказы.
Controls ШомерЗаказа,
|
||
|
forms ! Заказы
! НомерЗаказа.
|
||
|
Последний способ
доступа обрабатывается
|
||
|
быстрее
|
||
Reports
|
Семейство |
Содержит объекты Report, соответствую щие всем открытым в данный момент отчещие всем открытым в данный момент отчетам в базе данных Access
|
|
|
|||
|
|||
Report
|
Объект |
Ссылается на
конкретный отчет Access, опи-
|
|
|
сывает свойства
отчета, элементы управле-
|
||
|
ния и модуль,
содержащий процедуры отче-
|
||
|
та. Доступ к
элементам управления отчета
|
||
|
осуществляется
с помощью семейства
|
||
|
Controls (свойства
по умолчанию) двумя
|
||
|
способами — явно
или неявно
|
||
Modules
|
Семейство |
Содержит объекты
Module, соответствую-
|
|
|
щие всем открытым
в данный момент стан-
|
||
|
дартным модулям
и модулям объектов в
|
||
|
базе данных Access
|
||
Module
|
Объект |
Ссылается на
конкретный стандартный мо-
|
|
|
дуль или модуль
класса Access, описывает
|
||
|
содержимое модуля
в строках кода.
|
||
|
Приложение Microsoft
Access, кроме стан-
|
||
|
дартных модулей,
не привязанных к объек-
|
||
|
там, модулей
форм и отчетов, привязанных,
|
||
|
соответственно,
к форме или отчету, может
|
||
|
иметь модули
классов, не зависящие от
|
||
|
других объектов
приложения и определяю-
|
||
|
щие новый класс.
Тип модуля можно узнать
|
||
|
с помощью свойства
Туре
|
||
Объект
|
Тип
|
Описание
|
||
References
|
Семейство
|
Содержит объекты
Reference, представ-
|
||
|
|
ляющие собой
установленные ссылки в при-
|
||
|
|
ложении Access,
С помощью данного семей-
|
||
|
|
ства в приложении
можно динамически
|
||
|
|
устанавливать
или удалять ссылки на внеш-
|
||
|
|
ние библиотеки
|
||
Reference
|
Объект
|
Соответствует
ссылке, установленной на
|
||
|
|
библиотеку объектов
или типов, содержит
|
||
|
|
информацию о
ссылке, включая имя биб-
|
||
|
|
лиотеки и путь
к соответствующему файлу
|
||
Printers
|
Новое семей-
|
Содержит объекты
Printer, представляю-
|
||
|
ство
|
щие собой установленные
ссылки на все
|
||
|
|
печатающие устройства,
доступные в при-
|
||
|
|
ложении
|
||
Printer
|
Новый объект
|
Ссылается на
конкретное печатающее уст-
|
||
|
|
ройство
|
||
Da taAccess Pages
|
Семейство
|
Содержит объекты
DataAccessPages, со-
|
||
|
|
ответствующие
открытым в данный момент
|
||
|
|
страницам доступа
к данным в базе данных
|
||
|
|
или проекте Access
|
||
DataAccessPage
|
Объект
|
Ссылается на
конкретную страницу доступа
|
||
|
|
к данным Access.
Описывает свойства стра-
|
||
|
|
ницы
|
||
Screen
|
Объект
|
Ссылается на
конкретную форму, отчет или
|
||
|
|
элемент управления,
который в данный мо-
|
||
|
|
мент имеет фокус
|
||
DoCmd
|
Объект
|
Позволяет выполнить
макрос или встроен-
|
||
|
|
ную инструкцию
Access с помощью проце-
|
||
|
|
дуры на Visual
Basic
|
||
VBE
|
Объект из
|
Предоставляет
доступ к функциональным
|
||
|
библиотеки
|
средствам редактора
Visual Basic для Micro-
|
||
|
VBIDE
|
soft Access
|
||
DefaultWebOptions
|
Объект
|
Предоставляет
доступ к атрибутам приложе-
|
||
|
|
ния, используемым
в Access по умолчанию
|
||
|
|
при открытии
и сохранении Web-страниц
|
||
WebOptions
|
Новый объект
|
Предоставляет
доступ к атрибутам конкрет-
|
||
|
|
ной страницы
доступа к данным, используе-
|
||
|
|
мым в Access
при открытии и сохранении
|
||
|
|
Web-страниц.
Эти атрибуты имеют более
|
||
|
|
высокий приоритет,
чем соответствующие
|
||
|
|
атрибуты приложения.
Если установлены
|
||
|
|
атрибуты страницы
доступа к данным, то
|
||
|
|
соответствующие
атрибуты приложения для
|
||
|
|
работы с Web-страницами
игнорируются.
|
||
Объект
|
Тип
|
Описание
|
||
References
|
Семейство
|
Содержит объекты
Reference, представляющие собой установленные ссылки в приложении
Access. С помощью данного семейства в приложении можно динамически
устанавливать или удалять ссылки на внешние библиотеки
|
||
Reference
|
Объект
|
Соответствует
ссылке, установленной на библиотеку объектов или типов, содержит информацию
о ссылке, включая имя библиотеки и путь к соответствующему файлу
|
||
Printers
|
Новое семейство
|
Содержит объекты
Printer, представляющие собой установленные ссылки на все печатающие
устройства, доступные в приложении
|
||
Printer
|
Новый объект
|
Ссылается на
конкретное печатающее устройство
|
||
DataAccessPages
|
Семейство
|
Содержит объекты
DataAccessPages, соответствующие открытым в данный момент страницам
доступа к данным в базе данных или проекте Access
|
||
DataAccessPage
|
Объект
|
Ссылается на
конкретную страницу доступа к данным Access. Описывает свойства страницы
|
||
Screen
|
Объект
|
Ссылается на
конкретную форму, отчет или элемент управления, который в данный момент
имеет фокус
|
||
DoCmd
|
Объект
|
Позволяет выполнить
макрос или встроенную инструкцию Access с помощью процедуры на Visual
Basic
|
||
VBE
|
Объект из библиотеки
VBIDE
|
Предоставляет
доступ к функциональным средствам редактора Visual Basic для Microsoft
Access
|
||
DefaultWebOptions
|
Объект
|
Предоставляет
доступ к атрибутам приложения, используемым в Access по умолчанию
при открытии и сохранении Web-страниц
|
||
WebOptions
|
Новый объект
|
Предоставляет
доступ к атрибутам конкретной страницы доступа к данным, используемым
в Access при открытии и сохранении Web-страниц. Эти атрибуты имеют
более высокий приоритет, чем соответствующие атрибуты приложения.
Если установлены атрибуты страницы доступа к данным, то соответствующие
атрибуты приложения для работы с Web-страницами игнорируются.
|
||
Объект
|
Тип |
Описание
|
||
|
Если изменяются
атрибуты страницы досту-
|
|||
|
па к данным,
автоматически такие же значе-
|
|||
|
ния получают
атрибуты приложения. Поэто-
|
|||
|
му полезно сохранять
текущие атрибуты
|
|||
|
приложения, чтобы
восстанавливать их по-
|
|||
|
сле изменения
атрибутов страницы доступа
|
|||
|
к данным
|
|||
DBEngine
|
Объект из библиотеки DAO |
Является объектом
самого верхнего уровня в
|
||
|
объектной модели
DАО. Позволяет использовать объекты доступа к данным в приложении
Access
|
|||
Current Project
|
Объект |
Ссылается на
программный проект
|
||
|
(представляющий
совокупность всех про-
|
|||
|
граммных модулей,
включая стандартные
|
|||
|
модули и модули
классов) текущей базы
|
|||
|
данных или проекта
Microsoft Access. Этот
|
|||
|
объект содержит
семейства объектов
|
|||
|
AccessObjects,
соответствующих реаль-
|
|||
|
ным объектам
базы данных или проекта:
|
|||
|
Allforms, AllReports,
AllMacros,
|
|||
|
AllModules, AllDataAccessPages.
|
|||
|
Перечисленные
семейства включают в себя
|
|||
|
все реальные
объекты базы данных, незави-
|
|||
|
симо от того,
открыты они или закрыты в
|
|||
|
данный момент
|
|||
CurrentData
|
Объект |
Ссылается на
объекты, сохраненные прило-
|
||
|
жением — источником
данных (ядром Jet или
|
|||
|
SQL-сервером)
в текущей базе данных. Со-
|
|||
|
держит семейства
объектов AccessObject:
|
|||
|
AllTables, AllQueries,
AllViews,
|
|||
|
AllStoredProcedures,
All Functions,
|
|||
|
AllDatabaseDiagrams.
|
|||
|
Перечисленные
семейства включают в себя
|
|||
|
все реальные
объекты базы данных, незави-
|
|||
|
симо от того,
открыты они или закрыты в
|
|||
|
данный момент
|
|||
CodeProject
|
Объект |
Ссылается на
программный проект кода той
|
||
|
базы данных (или
проекта Microsoft Access),
|
|||
|
в которой выполняется
(и содержится) код
|
|||
|
VBA, включающий
данную ссылку.
|
|||
|
Этот объект содержит
семейства объектов
|
|||
|
AccessObjects,
соответствующих реаль-
|
|||
|
ным объектам
базы данных или проекта:
|
|||
|
Allforms, AllReports,
AllMacros,
|
|||
|
AllModules, AllDataAccessPages.
|
|||
Объект
|
Тип |
Описание
|
||
|
Перечисленные
семейства включают в себя
|
|||
|
все реальные
объекты базы данных, незави-
|
|||
|
симо от того,
открыты они или закрыты в
|
|||
|
данный момент
|
|||
CodeData
|
Объект |
Ссылается на
объекты, сохраненные прило-
|
||
|
жением — источником
данных (ядром Jet или
|
|||
|
SQL-сервером)
в той базе данных, в которой
|
|||
|
выполняется (и
содержится) код VBA, вклю-
|
|||
|
чающий данную
ссылку. Содержит семейст-
|
|||
|
ва объектов AccessObj
ect:
|
|||
|
AllTables, AllQueries,
AllViews,
|
|||
|
AllStoredProcedures,
All Functions,
|
|||
|
AllDatabaseDiagrams.
|
|||
|
Перечисленные
семейства включают в себя
|
|||
|
все реальные
объекты базы данных, незави-
|
|||
|
симо от того,
открыты они или закрыты в
|
|||
|
данный момент
|
|||
Controls
|
Семейство |
Содержит объекты
Control, представляю-
|
||
|
щие все элементы
управления в конкретной
|
|||
|
форме, отчете
или секции, вложенные или
|
|||
|
присоединенные
элементы управления. Это
|
|||
|
семейство является
свойством объектов
|
|||
|
form, Report,
Section и Control
|
|||
Control
|
Объект |
Представляет
собой любой конкретный эле-
|
||
|
мент управления
в форме, отчете или сек-
|
|||
|
ции, вложенный
или присоединенный эле-
|
|||
|
мент управления.
Объект Control может
|
|||
|
ссылаться на
один из объектов, характери-
|
|||
|
зующих элемент
управления определенного
|
|||
|
типа, такой как:
|
|||
|
CheckBox, TextBox,
ComboBox,
|
|||
|
CommandButton,
CustomControl,
|
|||
|
BoundObjectFrame,
Image, ListBox,
|
|||
|
ObjectFrame,
OptionButton,
|
|||
|
OptionGroup,
Page, Section, Subform,
|
|||
|
TogleButton
|
|||
formatConditions
|
Семейство |
Содержит объекты
formatCondition и
|
||
|
представляет
набор форматов по условию
|
|||
|
для объекта TextBox
или ComboBox
|
|||
forma tCondit
ion
|
Объект |
Представляет
форматирование по условию,
|
||
|
определенное
для элемента управления
|
|||
|
типа поле ввода
(объект TextBox) или спи-
|
|||
|
сок с полем ввода
(объект ComboBox)
|
|||
Объект
|
Тип |
Описание
|
||
AccessObjectProperties | Семейство |
Содержит настраиваемые
объекты
AccessObj ectProperty, описывающие свойства и однозначно характеризующие конкретный объект AccessObject, CodeData, CodeProject, CurrentData или CurrentProject |
||
AccessObject
|
Объект |
Ссылается на
реальный объект Microsoft Access в любом из семейств:
Allforms, AllReports,
AllMacros, AllModules, AllDataAccessPages, AllTables, AllQueries,
AllViews, AllStoredProcedures, All Functions, AllDatabaseDiagrams.
В зависимости от того, к какому семейству он принадлежит, этот объект представляет собой любой из объектов Access: таблицу (Table), запрос (Query), отчет (Report), форму (From), модуль (Module), макрос (Macro), страницу доступа к данным (Data access page), представление (view), хранимую процедуру (stored procedure) или схему базы данных (Database diagram). Объект AccessObject ссылается на существующий объект базы данных, нельзя создать новый или удалить существующий объект AccessObject |
||
AccessObjectProperty |
Объект |
Представляет встроенные или определенные пользователем характеристики (свойства) любого объекта AccessObject, CodeData, CodeProject, CurrentData или CurrentProject |
||
В Microsoft
Access 2002 появились два новых семейства, содержащих новые объекты: