Особенности сетевых приложений Access
Вступление
База данных Access может использоваться одним пользователем на локальном компьютере или несколькими пользователями в сети. Использование базы данных в сети имеет ряд особенностей.Способы совместного использования баз данных
Базы данных Microsoft Access могут использоваться одновременно несколькими пользователями в сети. Предоставить общий доступ к базе данных можно несколькими способами: | поместив базу данных в общую папку в сети; | опубликовав в сети таблицы базы данных;Режимы работы с базой данных в сети
База данных может быть открыта пользователем в сети в одном из четырех режимов. | Открытие в режиме общего доступа. База данных открывается для чтения и записи. Другие пользователи тоже могут открыть базу данных (в любом режиме). | Открытие в режиме монопольного доступа.Пример сетевого приложения
Рассмотрим в качестве примера сетевого приложения Access приложение "Игра в доминирование". Далее в этой главе на данном примере будут проиллюстрированы основные особенности разработки и использования сетевых приложений.Организация совместного доступа к данным и объектам
В сети доступ к одним и тем же объектам могут одновременно получить сразу несколько пользователей. Общий доступ к данным отличается от монопольного. Например, совместная правка записей в таблице/запросе или изменение структуры объекта базы данных может привести к возникновению конфликтов при сохранении изменений в источнике.Организация обмена данными между компонентами сетевого приложения. Программирование с использованием интерфейса DАО.
Существует несколько способов обмена данными между компонентами приложения по сети: | с помощью связанных таблиц; | с помощью запросов; | с помощью программирования на VBA. | Использование запросов и связанных таблиц подробно рассмотрено в других главах этой книги.Создание и использование рабочей области
Обе иерархии объектов DАО: для рабочей области Jet и для рабочей области ODBCDirect – начинаются с объекта DBEngine. Этот объект содержит свойства и методы, позволяющие управлять рабочими областями. Свойство DefaultType объекта DBEngine позволяет определять или устанавливать тип рабочей области, создаваемой по умолчанию.Открытие источника данных
Чтобы открыть базу данных, используйте существующий объект Database или создайте новый. Объект Database представляет собой базу данных Jet (файл MDB), базу данных ISAM или источник данных ODBC, подключенный через Jet.Программное изменение структуры и схемы данных
Для изменения схемы данных создан язык определения данных (DDL, Data-Definition Language). Инструкции на языке DDL позволяют выполнять действия по изменению схемы данных и структуры объектов данных, например: | создавать и удалять таблицы; | добавлять и удалять из таблиц поля и индексы;Выполнение операций с данными
Для изменения данных в источнике создан язык структурированных запросов (SQL, Structure Query Language). Инструкции на языке SQL позволяют выполнять действия по изменению данных, например – добавлять, изменять или удалять записи в таблице или запросе, выбирать набор записей из источника, удовлетворяющий заданному условию.Программная синхронизация доступа к данным
При одновременном доступе нескольких пользователей к одной и той же записи в источнике данных могут возникнуть конфликты. Например, конфликты могут возникать при выполнении метода Update или Delete объекта Recordset и метода OpenDatabase объекта Workspace или DBEngine.Выполнение транзакций
Транзакцией называется операция обмена данными между клиентом и сервером. Методы объекта Workspace, использующиеся для выполнения транзакций, представлены в табл. 16.7. | Таблица 16.7. Методы объекта Workspace для выполнения транзакций. | Метод | Описание | BeginTrans | Обозначает начало транзакции.Защита сетевого приложения Access
Выбор политики защиты и установка защиты – предмет разработки приложения. А настройка схемы защиты приложения в соответствии с текущими потребностями в процессе использования приложения – задача администрирования.Защита базы данных на уровне пользователей
Защита на уровне пользователей предназначена для предоставления разным пользователям разного уровня доступа к объектам приложения. Пользователи могут объединяться в группы внутри рабочей группы. Группам, как и пользователям, могут быть назначены определенные права доступа к объектам базы данных.