Описание
Семейство Workspaces содержит все активные не скрытые объекты Workspace, входящие в объект DBEngine. (Скрытые объекты Workspace не добавляются в семейство, а ссылки на них выполняются с помощью переменных, которым они присвоены).
Замечания
Объект Workspace используется для управления текущим сеансом или для запуска дополнительного сеанса.
При первой ссылке или первом вызове объекта Workspace автоматически создается стандартная рабочая область DBEngine.Workspaces(0), в которой свойства Name и UserName по умолчанию получают значения, соответственно, "#Default Workspace#" и "Admin". Если система защиты баз данных активизирована, то значением свойства UserName становится имя подключенного пользователя.
Объекты Workspace создаются с помощью метода CreateWorkspace. Если предполагается ссылаться на новый объект Workspace через семейство, то необходимо после создания объекта добавить этот объект в семейство Workspaces. Допускается также использование нового объекта Workspace без его добавления в семейство.
При ссылках на объект Workspace используют его порядковый номер в семействе или значение свойства Name (имя):
DBEngine.Workspaces(0) DBEngine.Workspaces("имя") DBEngine.Workspaces![имя]
Пример
Следующая программа создает новый объект Workspace Microsoft Jet и новый объект Workspace ODBCDirect, а затем добавляет их в семейство Workspaces. Далее печатается семейство Workspaces и семейство Properties каждого объекта Workspace. Другие примеры см. в разделах справки для объекта Workspace и семейства Workspaces.
Sub WorkspaceX() Dim wrkNewJet As Workspace Dim wrkNewODBC As Workspace Dim wrkLoop As Workspace Dim prpLoop As Property ' Создает новую рабочую область Microsoft Jet. Set wrkNewJet = CreateWorkspace("NewJetWorkspace", "admin", "", dbUseJet) Workspaces.Append wrkNewJet ' Создает новую рабочую область ODBCDirect. Set wrkNewODBC = CreateWorkspace("NewODBCWorkspace", "admin", "", dbUseODBC) Workspaces.Append wrkNewODBC ' Отображает семейство Workspaces. For Each wrkLoop In Workspaces With wrkLoop Debug.Print "Свойства " & .Name ' Отображает семейство Properties нового ' объекта Workspace. For Each prpLoop In .Properties On Error Resume Next If prpLoop <> "" Then Debug.Print " " & prpLoop.Name & " = " & prpLoop On Error GoTo 0 Next prpLoop End With Next wrkLoop wrkNewJet.Close wrkNewODBC.Close End Sub