Объектная модель 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), для него приводится название этой библиотеки.

Первый уровень иерархии объектной модели Microsoft Access 2002

Рис. 13.1. Первый уровень иерархии объектной модели Microsoft Access 2002

Второй уровень иерархии объектной модели Microsoft Access 2002 — объекты баз данных

Рис. 13.2. Второй уровень иерархии объектной модели Microsoft Access 2002 — объекты баз данных

Второй уровень иерархии объектной модели Microsoft Access 2002 — объекты для работы с базой данных и проектом

Рис. 13.3. Второй уровень иерархии объектной модели Microsoft Access 2002 — объекты для работы с базой данных и проектом

Глядя на схемы объектной модели, можно определить какие объекты описывают приложение, как они связаны между собой и как составить ссылку для доступа к конкретному объекту.

Табл. 13.3 содержит описание объектов Microsoft Access 2002, определенных в библиотеке Access, если не указана другая библиотека объектов.

Объект Тип Описание
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 Новый объект Ссылается на конкретное печатающее устройство 
DataAccess Pages Семейство Содержит объекты DataAccessPages, со- ответствующие открытым в данный момент страницам доступа к данным в базе данных или проекте Access 
DataAccessPage Объект Ссылается на конкретную страницу доступа к данным Access. Описывает свойства страницы 
Screen Объект Ссылается на конкретную форму, отчет или элемент управления, который в данный момент имеет фокус 
DoCmd Объект Позволяет выполнить макрос или встроенную инструкцию Access с помощью процедуры на Visual Basic 
VBE Объект из библиотеки VBIDE Предоставляет доступ к функциональным средствам редактора Visual Basic для Micro- soft Access 
DefaultWebOptions Объект Предоставляет доступ к атрибутам приложе- ния, используемым в Access по умолчанию при открытии и сохранении Web-страниц 
WebOptions Новый объект Предоставляет доступ к атрибутам конкрет- ной страницы доступа к данным, используе- мым в Access при открытии и сохранении Web-страниц. Эти атрибуты имеют более высокий приоритет, чем соответствующие атрибуты приложения. Если установлены атрибуты страницы доступа к данным, то соответствующие атрибуты приложения для работы с Web-страницами игнорируются. 
References Семейство Содержит объекты Reference, представляющие собой установленные ссылки в приложении Access. С помощью данного семейства в приложении можно динамически устанавливать или удалять ссылки на внешние библиотеки
Reference Объект Соответствует ссылке, установленной на библиотеку объектов или типов, содержит информацию о ссылке, включая имя библиотеки и путь к соответствующему файлу
Printers Новое семейство Содержит объекты 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

Таблица 13.3. Описание основных элементов объектной модели Microsoft Access 2002

В Microsoft Access 2002 появились два новых семейства, содержащих новые объекты: