Создание и использование рабочей области
Обе иерархии объектов 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.
Программа 16.1. Использование рабочей области Jet, открытой по умолчанию
Dim
ws
As
Workspace
Dim
db
As
Database
Set
ws = DBEngine.Workspaces(0)
'Выбрали рабочую область
'Открываем базу данных:
Set
db = ws.OpenDatabase(
"DominationGameServer.mdb"
)
'Код использования базы данных...
db.Close
'Закрыли базу данных
Set
db =
Nothing
'Очистили объектную переменную
' (!) Плохой код:
' рабочая область, открытая по умолчанию, будет закрыта
'ws.Close
'Set ws = Nothing
Программа 16.2. Создание рабочей области Jet
Dim
ws
As
Workspace
Dim
db
As
Database
'Создаем рабочую область:
Set
ws = CreateWorkspace(
""
,
"Флинт"
,
"пиастры"
, dbUseJet)
'Открываем базу данных:
Set
db = ws.OpenDatabase(
"DominationGameServer.mdb"
)
'Код использования базы данных...
db.Close
'Закрыли базу данных
ws.Close
' Закрыли рабочую область
Set
db =
Nothing
' Очищаем объектные переменные
Set
ws =
Nothing