Объектные модели Microsoft Office 2002

Управление приложениями семейства Microsoft Office 2002 осуществляется интерактивно — с помощью интерфейса пользователя или программно — с помощью объектных моделей. Каждый из компонентов Microsoft Office предоставляет свои объектные модели в виде одноименной библиотеки объектов (файл с расширением olb), которая может быть использована в других приложениях. Microsoft Access 2010, как компонент Microsoft Office, имеет такую библиотеку — Microsoft Access 10.0 Object Library. Доступ и управление данными в Microsoft Access могут осуществляться с помощью объектных моделей, реализованных в нескольких библиотеках:

  • библиотека объектов Microsoft Access (Microsoft Access 10.0 Object Library);
  • библиотека объектов доступа к данным (Microsoft DAO 3.6 Object Library);
  • библиотека объектов ActiveX (Microsoft ActiveX Data Objects 2.6);
  • расширения ADO для поддержки DDL и защиты информации (Microsoft ADO Extensions 2.6 for DDL and Security);
  • библиотека объектов Microsoft Jet и репликации (Microsoft Jet and Replication Objects 2.6).

Кроме этого, в приложениях Access обычно используются:

  • библиотека объектов Visual Basic (Microsoft Visual Basic for Applications);
  • библиотека объектов Microsoft Office (Microsoft Office 10.0 Object Library). Две эти библиотеки являются общими для всех приложений Microsoft Office.

Кроме перечисленных библиотек объектов, при написании программ в приложениях Access могут использоваться библиотеки, предоставляемые другими приложениями Microsoft Office, например Microsoft Excel 10.0 Object Library или Microsoft Word 10.0 Object Library. В этом случае приложение Access выступает в качестве клиентского приложения Automation, обеспечивая совместную работу нескольких компонентов Microsoft Office.
 
Объектная модель Microsoft Access 2010
Объектная модель Microsoft Access 2010 реализована в виде набора объектов, собранных в библиотеке Access. Основным элементом в иерархии объектов библиотеки Access является объект Application. Он содержит ссылки на все объекты и семейства объектов Microsoft Access. Каждый объект из библиотеки Access имеет в качестве свойства объект Application (в том числе и сам объект Application имеет свойство Application), который ссылается на активное приложение Microsoft Access.
Иерархия объектов и семейств объектов Microsoft Access 2010 представлена на — 13.3. Названия объектов, являющихся элементами семейств, приведены в скобках. Новые объекты, появившиеся в Microsoft Access 2002, отмечены звездочкой. Иерархия объектов, представленная на рисунках, образована следующим образом:

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

Если свойство объекта представляет собой ссылку на объект, определенный в другой библиотеке (не в библиотеке Access), для него приводится название этой библиотеки.
Глядя на схемы объектной модели, можно определить какие объекты описывают приложение, как они связаны между собой и как составить ссылку для доступа к конкретному объекту.
содержит описание объектов Microsoft Access 2010, определенных в библиотеке Access, если не указана другая библиотека объектов.
Описание основных элементов объектной модели Microsoft Access 2010

Объект

Тип

Описание

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 2010 появились два новых семейства, содержащих новые объекты:

  • Printers — обеспечивает программное управление параметрами печати. Теперь есть возможность вывести документ на печать на любой из доступных принтеров, указать количество копий документа, который нужно напечатать, определить размер страницы и поля и т. д.

AllFunctions — используется для программного доступа к пользовательским функциям, определенным в базе данных Microsoft SQL Server (объект, аналогичный запросу, который существует в проекте Microsoft Access). Этот объект может быть открыт в режиме Конструктора, режиме Таблицы, режиме Предварительного просмотра и в режиме Сводной таблицы или Сводной диаграммы как обычный запрос.