Разработка программных приложений для MS Access.
Модули, в отличие от макросов, являются более тонким и мощным средством создания программных расширений в среде Access, максимально приближающимся по своим функциональным возможностям к таким профессиональным инструментам, как Delphi, Visual Basic или Power Builder. Одновременно применение модулей требует от пользователя навыков и квалификации программиста, а также знания основных принципов объектно-ориентированного программирования. Для программирования в Access используется процедурный язык Visual Basic для приложений (VBA- Visual Basic for Applications) с добавлением объектных расширений и элементов SQL. Сам процесс создания программных расширений в среде Access предполагает активное использование технологии объектно-ориентшрованного программирования (ООП). В основе ООП лежит идея "упакованной функциональности", в соответствии с которой программа строится из фундаментальных сущностей, называемых объектами. Каждый из объектов характеризуется набором свойств (англ, -property) и операций, которые он может выполнять (англ,- method). Реализация взаимодействий между объектами ложится на исполняющую cpеду того средства разработки, на котором пишется программа, и поэтому работа программиста в рамках технологии ООП сводится к созданию объектов, описанию их свойств и реакций на те иди иные внешние события. ундаментальным понятием ООП является класс. Класс - это шаблон, на основе которого может быть создан конкретный программный объект. Созданный объект в таком случае становится экземпляром класса. К основополагающим принципам ООП относятся:
-" инкапсуляция - объединение свойств и действий, присущих объекту, в едином пакете и сокрытие подробностей их реализации от окружающего мира. Это означает, что пользовательский доступ к объекту допускается только через его свойства и методы;
-" наследование - предусматривает создание новых классов на базе существующих, что дает возможность классу-потомку иметь (наследовать) все свойства класса-родителя;
-" полиморфизм - (от греч. "многоликость") означает, что порожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, где они находятся в цепочке наследования;
-" модульность - объекты заключают в себе полное определение их характеристик, никакие определения методов и свойств объекта не должны располагаться вне его, что делает возможным свободное копирование и внедрение одного объекта в другие.
Многие программные объекты в Access совпадают с физическими объектами базы данных, такими как таблицы, формы, отчеты. Для названия составных объектов, которые включают в себя совокупность более простых объектов, используется термин семейство. Например, объект отчет входит в семейство отчеты. Помимо "видимых" объектов существует и большое количество "скрытых" объектов, управлять которыми можно только из программных приложений. В Access существуют два типа модулей: стандартные и модули класса. Стандартные модули содержат процедуры и функции, которые могут быть вызваны из любого окна базы данных. Как правило, такие модули содержат программный код универсального характера, предназначенный для применения в различных местах текущего приложения или даже в различных приложениях. Модули класса используются, для создания новых классов объектов. При создании конкретного объекта, являющегося экземпляром такого класса, любые процедуры, определенные в модуле, становятся свойствами и методами этого объекта. Модули форм и модули отчетов являются модулями класса, связанными с определенной формой или отчетом. Заметим, что в ранних версиях Access они являлись единственно возможным инструментом объектно-ориентированного программирования. Эти модули содержат процедуры обработки событий, запускаемых в ответ на их возникновение в форме или отчете. Процедуры обработки событий используются для управления поведением формы или отчета и их откликом на события, например такие, как нажатие кнопки. Важнейшей областью применения объектно-ориентированного программирования в Access является программирование доступа к данным. Для решения данной задачи фирмой Microsoft был разработан специальный интерфейс - ОАО (Data Access Objects). DAO - это набор объектных классов, которые моделируют структуру реляционной базы данных. Они обеспечивают свойства и методы, которые позволяют выполнять такие операции, как создание базы данных, определение таблиц и индексов, задание связей между таблицами, формирование запросов и отчетов и т. п. Существенным достоинством объектной модели ОАО является ее универсальный характер: она доступна для большинства средств разработки программного обеспечения, поддерживаемых Microsoft, в частности, для Visual Basic. Классы объектов доступа к данным организованы по иерархической схеме. На ее вершине находится объект DbEngine, представляющий собой ядро базы данных. Далее следуют объекты, отвечающие за управление сеансами доступа пользователя к данным, - Workspace (от англ, "рабочая область"). Каждая рабочая область включает один или несколько объектов класса база данных - Database, а они, в свою очередь, содержат семейства объектов таблиц (TableDef), запросов (QueryDef), наборов записей (RecordSet) и т. д. В заключение раздела, посвященного модулям, отметим, что мы сознательно не затрагиваем собственно вопросы теории и практики создания программ на VBA в среде Access, так как они являются весьма обширными. В случае необходимости читатели могут ознакомиться с ними в специальных профессиональных изданиях и руководствах.
3. Организация взаимодействия между системами управления данными
3.1. Проблема форматно независимого доступа к данным и технология ODBC
Процесс разработки и развития любой СУБД неизбежно приводит к необходимости решать проблему взаимодействия с данными, созданными и управляемый в рамках других программных систем, или, как еще говорят, к проблеме доступа к внешним источникам данных. Это, в свою очередь, определяет принципиальное требование, которому должны удовлетворять прикладные СУБД: ^программные процедуры обработки информации, создаваемые в рамках СУБД, должны быть максимально независимыми от формата хранимых данных. Выполнение этого принципа позволяет:
- во-первых, с наименьшими затратами осуществлять переход от одной СУБД к другой, потребность в чем, допустим, возникает при масштабировании ранее созданного программного обеспечения для предприятий и фирм качественно иного размера;
- во-вторых, успешно решать задачи интеграции двух и более независимых программных систем.
Важнейшим инструментом форматно независимого доступа к данным из программ стала технология ODBC (Open Data Base Connectivity), созданная фирмой Microsoft. Ее принципиальная схема изображена на рис.28.
Как следует из рис. 28, в рамках ODBC:
- программное приложение непосредственно взаимодействует с диспетчером драйверов, посылая ему ODBC-вызовы;
- диспетчер драйверов отвечает за динамическую загрузку нужного ODBC-драйвера, через который обращается к СУБД (серверу баз данных);
Рис. 28. Принципиальная схема технологии ODBC
- ODBC-драйвер выполняет все вызовы ODBC-функций, "переводит" их на язык источника данных;
- СУБД хранит и выводит данные в ответ на запросы со стороны ODBC-драйвера (или же возвращает код ошибки).
В настоящее время в состав подавляющего большинства систем управления данными входят соответствующие ODBC-драйверы.
Таким образом, при работе с базой данной через ODBC-драйвер она выступает как некоторый виртуальный источник данных, которым можно управлять с помощью SQL-подобных команд.
Воспользуйтесь поиском по сайту: