Объекты VBAПрограммирование VBA в СУБД Access 2003

RSS, Twitter, Vkontakte, Facebook

Объекты СУБД Access 2003

Основы языка программирования VBA

Автор: Владимир Ткаченко

Источник: Обучение в интернет

Microsoft Office 2003 основан на принципах объектно-ориентированного программирования. Microsoft Office может быть представлен семейством классов и объектов. Необходимо отметить, что структуры объектных моделей приложений Microsoft Office отличаются друг от друга. Так объектная модель Access отличается от объектных моделей Word, Excel, PowerPoint. Иерархические структуры, сформированные из объектов и семейств, называются объектными моделями приложений.

Программирование VBA в Microsoft Access 2003 отличается от программирования в других приложениях Microsoft Office 2003. Программирование VBA в СУБД Access используют в основном профессиональные программисты в процессе создания различных приложений для пользователей. Но в некоторых случаях пользователи баз данных Access 2003 самостоятельно применяют программирование VBA для автоматизации своей деятельности.

Для программирования в Office можно использовать COM-совместимые или .NET-совместимые языки программирования. COM (Component Object Model - объектная модель компонентов) — это стандарт от компании Microsoft. COM предназначен для создания программного обеспечения на основе взаимодействующих COM-компонентов. При этом каждый COM-компонент через COM-интерфейсы может использоваться во многих программах одновременно. Использование COM-компонентов обеспечивается Windows API (application programming interfaces - интерфейсом прикладного программирования). К COM-совместимым языкам программирования относятся: Delphi, C, C++, Java, JScript, Visual Basic, VBScript и т.д.

Языки программирования .NET (языки программирования платформы .NET компании Microsoft) — компьютерные языки программирования, которые используются для создания библиотек и программ, удовлетворяющих требованиям CLI (Common Language Infrastructure - общеязыковая инфраструктура). К NET-совместимым языкам программирования относятся: VB.NET, JScript.NET, Delphi Visual C++, Borland C++, C# (си-шарп) и т.д.

Но для программирования приложений в Microsoft Office целесообразно использовать Visual Basic for Applications, что позволяет создавать приложения на языке VBA непосредственно внутри документов Microsoft Office. В этом случае программный код на языке VBA хранится внутри документов Word, Excel, PowerPoint, Access и т.д. 

Объекты характеризуются свойствами, методами и событиями. Однотипные объекты объединяются в классы. Таким образом, объекты представляют собой экземпляры определенного класса. Классы - это шаблоны для создания объектов. Объект, содержащий набор однотипных объектов, называется семейством (сollection).

Свойства - это характеристики (атрибуты) объекта, которые предназначенны для его описания. Свойства определяют внешний вид и поведение объекта в приложении. Методы - это наборы действий (команд или процедур), которые может выполнить объект. Для каждого объекта определен ряд возможных событий. Событие - это определенное действие (например, нажатие кнопки), для которого можно создать исполняемый код обработки события, то есть процедуру, выполняющуюся в ответ на событие (отклик на событие).

В СУБД Access 2003 используется визуальная среда программирования, основанная на событиях объектов. Технология разработки программы на VBA состоит в выборе объектов из определенного класса, выборе свойств объектов, в задании событий и создании (написании программы или исполняемого кода) процедуры их обработки.

Все приложения MS Office имеют собственные объектные модели. В VBA определены объектные модели для каждого приложения Microsoft Office, объекты которых можно использовать в программах. Объектная модель Microsoft Access 2003 представляет собой набор объектов, организованных в библиотеку Access.

Главным в иерархии объектов Access является объект Application (приложение Access). Слева на рисунке 1 представлена объектная модель Access.Application. Объекты модели не раскрыты. Справа на этом же рисунке показан фрагмент объектной модели, в которой объект CodeData представлен в раскрытом виде (в объект CodeData входят коллекции). Информация заимствована из справки Microsoft Visual Basic приложения Access 2003.

Объектная модель Access.Application в Access 2003
Рис. 1

Для просмотра объектов VBA в приложении Access 2003 можно использовать окно просмотра Object Browser. Это окно вызывается из редактора VBA, выполнив команду View/Object Browser. Объекты можно искать во всех доступных библиотеках (All Libraries). Скриншот окна диалога Object Browser представлен на рисунке 2.

окно диалога Object Browser в Access 2003 для всех доступных библиотек
Рис. 2

По умолчанию список библиотек (рис. 2) содержит библиотеку Access, DAO, VBA, библиотеку проекта - Деканат и др. Список доступных библиотек можно изменять в окне диалога References, которое открывается командой Tools/References.

Для поиска объекта Application в библиотеке Access выберем Access в открывающемся списке библиотек, а в списке поиск введем Application и щелкнем на кнопке Просмотр. Результаты поиска будут отображаться в окне Object Browser (рис. 3).

окно диалога Object Browser в Access 2003 для объекта Access.Application
Рис. 3

В окне мы увидим, в какой библиотеке, в каком классе содержится объект Application, который мы искали. В списке Library (библиотека) отображаются объекты, в списке Class отображаются все имеющиеся модули и объекты класса. В списке Member отображаются компоненты (элементы объекта: свойства, методы, события) класса или проекта.

Если выбрать библиотеку Деканат, то окно диалога Object Browser будет иметь вид, представленный на рисунке 4.

окно диалога Object Browser в Access 2003 для библиотеки Деканат
Рис. 4

Если в списке Classes выделить объект Form_FormatP, то списке Members (компоненты) будет отображаться свойства и методы этого объекта.

Графические символы для описания объектов в окне диалога Object Browser: событие - событие; методы - методы; свойства - свойства.

Если выбрать библиотеку VBA, то окно диалога Object Browser будет иметь вид, представленный на рис.5. В окне отображается библиотека классов, связанных с языком VBA.

окно диалога Object Browser в Access 2003 для библиотеки VBA
Рис. 5

В нижней части инструмента Object Browser имеется еще одно полезное окно, которое предназначено для отображения сведений о выбранном элементе. На рисунке 5 в этом окне отображается выбранный класс <globals>. Рекомендую пользователям самостоятельно ознакомиться с этим окном.

В заключение хочу отметить, что перед рассмотрением языка программирования мы с вами ознакомились с объектами VBA, так как понимание объектов лежит в основе программирования на языке VBA. Объекты VBA - это основные средства манипуляции данными в Microsoft Access 2003. Итак, объект – это программный элемент, который отображается на экране, и который содержит необходимые переменные, определяющие его свойства, а также список методов для управления объектом. Знание структуры объектной модели Microsoft Access 2003 позволяет создавать качественные приложения. Далее мы рассмотрим язык программирования VBA: переменные, типы данных и константы.

Подпишитесь на мою рассылку СУБД MS Access 2003 -это просто!