Объектная модель 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, если не указана другая библиотека объектов.
Объект | Тип | Описание |
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 появились два новых семейства, содержащих новые объекты:
- Printers — обеспечивает программное управление параметрами печати. Теперь есть возможность вывести документ на печать на любой из доступных принтеров, указать количество копий документа, который нужно напечатать, определить размер страницы и поля и т. д.
- AllFunctions — используется для программного доступа к пользовательским функциям, определенным в базе данных Microsoft SQL Server (объект, аналогичный запросу, который существует в проекте Microsoft Access). Этот объект может быть открыт в режиме Конструктора, режиме Таблицы, режиме Предварительного просмотра и в режиме Сводной таблицы или Сводной диаграммы как обычный запрос.