- •Иллюстрированный самоучитель по Access 2002
- •Глава 1. Общие сведения о Microsoft Access 2002
- •Базы данных как средство хранения и обработки информации
- •Запуск Access и открытие баз данных
- •Создание новой базы данных
- •Рабочая среда Access
- •Использование справочной системы
- •Вызов окна справки
- •Глава 2 .
- •Основные режимы работы с таблицами
- •Создание таблиц
- •Определение полей
- •Свойства полей таблицы
- •Использование Мастера подстановок
- •Форматы отображения данных
- •Примеры:
- •Определение маски ввода
- •Вставка, удаление и переименование полей таблицы
- •Вод и проверка данных
- •Изменение внешнего вида таблицы
- •Сортировка данных в таблице
- •Поиск и замена данных
- •Фильтрация данных
- •Часть III.
- •Способы совместного использования баз данных
- •Пример сетевого приложения
- •Организация совместного доступа к данным и объектам
- •Организация обмена данными между компонентами сетевого приложения
- •Создание и использование рабочей области
- •Программа 16.1. Использование рабочей области Jet, открытой по умолчанию
- •Программа 16.2. Создание рабочей области Jet
- •Открытие источника данных
- •Программа 16.3. Открытие таблицы в текущей базе данных
- •Программное изменение структуры и схемы данных
- •Программа 16.4. Удаление и создание таблицы с помощью инструкций ddl
- •Программа 16.5. Изменение структуры таблицы с помощью интерфейса dао
- •Выполнение операций с данными
- •Программа 16.6. Добавление записи в таблицу
- •Программа 16.7. Изменение текущей записи в таблице
- •Программа 16.8. Удаление текущей записи в таблице
- •Программная синхронизация доступа к данным
- •Программа 16.9. Синхронизация записи изменений в источнике данных
- •Программа 16.10. Сделать паузу на заданное количество секунд в работе приложения
- •Выполнение транзакций
- •Программа 16.11. Применение механизма транзакций
- •Защита сетевого приложения Access
- •Защита базы данных на уровне пользователей
- •Рава доступа в приложении "Игра в доминирование"
- •Часть IV. Приложения
- •Правила игры в доминирование
- •Архитектура приложения
- •Функциональное описание приложения
- •Интерфейс пользователя
- •Установка сетевого приложения "Игра в доминирование"
- •Параметры защиты приложения "Игра в доминирование"
Организация обмена данными между компонентами сетевого приложения
Существует несколько способов обмена данными между компонентами приложения по сети:
с помощью связанных таблиц;
с помощью запросов;
с помощью программирования на VBA.
Использование запросов и связанных таблиц подробно рассмотрено в других главах этой книги. Мы остановимся на программном доступе к базам данных с использованием интерфейса DАО. (06 установлении связи с таблицами см. гл. 3, об использовании запросов см. гл. 8.)
Программирование с использованием интерфейса DАО
Объекты доступа к данным (DАО, Data Access Object) — это иерархия объектов, обеспечивающая доступ к структуре базы данных и ее содержимому. В программах Visual Basic пользователь имеет возможность использовать объектный интерфейс DАО для выполнения следующих задач:
осуществления доступа к данным в локальных и удаленных базах данных Access и внешних источниках;
управления базой данных и ее объектами;
изменения структуры таблиц и схемы данных;
управления системой защиты;
создания, настройки и синхронизации реплик.
Интерфейс DАО использует рабочие области двух видов:
Рабочая область ядра Jet. Обеспечивает доступ к базам данных процессора обработки данных Jet, источникам данных ODBC и источникам данных ISAM для % доступа к базам данных в других форматах (например, к базам данных Lotus 1-2-3). Рабочая область Jet используется для доступа к источникам данных с помощью процессора Jet.
Рабочая область ODBCDirect. Обеспечивает доступ к источникам данных ODBC напрямую, не используя процессор Jet.
Для рабочей области Jet и для рабочей области ODBCDirect существуют две разные объектные модели DАО. Они приведены в гл. 13.
Реализация модулей VBA для обмена данными между компонентами приложения "Игра в доминирование" основана на применении интерфейса DАО с использованием рабочей области ядра Jet. Поэтому в дальнейших примерах основное внимание уделено приемам программирования на DАО, применимым в рабочей области ядра Jet. Сведения о рабочей области ODBCDirect можно найти в справочной системе Access 2002.
В следующих разделах мы рассмотрим некоторые аспекты программирования с использованием DАО. Подробную информацию об интерфейсе DАО можно найти в справочной системе Access.
Внимание
В Access 2002 по умолчанию к программному проекту базы данных подключена библиотека Microsoft ActiveX Data Objects 2.1 Library. Чтобы использовать в процедурах VBA объекты доступа к данным, нужно обязательно отключить эту библиотеку и подключить библиотеку Microsoft DАО 3.6 Object Library. О подключении библиотек к программному проекту рассказано в гл. 13.
Создание и использование рабочей области
Обе иерархии объектов DАО: для рабочей области Jet и для рабочей области ODBCDirect — начинаются с объекта DBEngine. Этот объект содержит свойства и методы, позволяющие управлять рабочими областями. Свойство DefaultType объекта DBEngine позволяет определять или устанавливать тип рабочей области, создаваемой по умолчанию.
Объект DBEngine в качестве свойства содержит семейство Workspaces всех открытых рабочих областей. Можно выбрать элемент этого семейства, указав индекс или имя, чтобы получить доступ к конкретной рабочей области (программа 16.1).
Чтобы создать новую рабочую область ядра Jet или рабочую область ODBCDirect, используют метод CreateWorkspace (программа 16.2) объекта DBEngine с соответствующим параметром. Метод CreateWorkspace возвращает ссылку на объект типа workspace и имеет следующие параметры (табл. 16.2):
Workspace CreateWorkspace(<имя>, <пользователь>, <пароль>, <тип>)
Таблица 16.2. Параметры метода CreateWorkspace
|
|
|
|
|
|
Параметр |
Тип |
Описание |
|
|
<пользователь> |
String |
Имя пользователя, который будет владельцем создаваемой рабочей области. Определяет значение свойства UserName объекта Workspace |
|
|
<пароль> |
String |
Пароль пользователя. Он необходим для создания рабочей области. Пароль может включать до 14 символов. Это могут быть любые символы, кроме символа ASCII с кодом 0 (Null). Определяет значение свойства Password объекта Workspace |
|
|
<тип> |
<константа> |
Необязательный параметр. Задает тип создаваемой рабочей области. В качестве значения можно использовать константу dbUseJet для создания рабочей области ядра Jet или константу dbUseODBC для создания рабочей области ODBCDirect. По умолчанию создается рабочая область того типа, который задан значением свойства DefaultType объекта DBEngine |
|
|
<имя>
|
String |
Уникальное имя создаваемой рабочей области. Определяет значение свойства Name объекта Workspace |
|
|
|
|
|
|
Несколько рабочих областей разных типов могут быть открыты одновременно. В момент создания рабочей области начинается сеанс работы с ней. После выполнения всех необходимых действий в рабочей области нужно завершить сеанс, закрыв рабочую область с помощью метода Close объекта Workspace.