Поделиться через


Коллекция рабочих областей (DAO)

Область применения: Access 2013, Office 2013

Коллекция Workspaces содержит все активные, незахваченные объекты Workspace объекта DBEngine . (Скрытые объекты рабочей области не добавляются в коллекцию и ссылаются на них переменной, которой они назначены.)

Замечания

Объект Workspace используется для управления текущим сеансом или начала дополнительного сеанса.

При первом указании или использовании объекта Workspace автоматически создается рабочая область по умолчанию DBEngine.Workspaces(0). Параметры свойств Name и UserName рабочей области по умолчанию: "#Default Workspace#" и "Администратор" соответственно. Если включена система безопасности, значение свойства UserName соответствует имени пользователя, вошедшего в систему.

Вы можете создать новые объекты Рабочей области с помощью метода CreateWorkspace . После создания объекта Workspace его необходимо добавить в коллекцию Workspaces, если нужно ссылаться на него из коллекции Workspaces. Однако вы можете использовать только что созданный объект Workspace , не добавляя его в коллекцию Workspaces .

Чтобы сослаться на объект Workspace в коллекции по его порядковому номеру или по его свойству Name, используйте любую из указанных ниже синтаксических форм.

DBEngine.Workspaces(0)

DBEngine.Workspaces("name")

DBEngine. Рабочие области! [имя]

Примечание.

Рабочие области ODBCDirect не поддерживаются в Microsoft Access 2013. Используйте ADO, если вы хотите получить доступ к внешним источникам данных без использования ядра СУБД Microsoft Access.

Пример

В этом примере создается новый объект Microsoft Access Workspace, который добавляется в коллекцию Workspaces. Затем выполняется перечисление коллекции Workspaces и коллекции Properties объекта Workspace.

Sub WorkspaceX() 
 
 Dim wrkNewAcc As Workspace 
 Dim wrkLoop As Workspace 
 Dim prpLoop As Property 
 
 ' Create a new Microsoft Access workspace. 
 Set wrkNewAcc = CreateWorkspace("NewAccessWorkspace", _ 
 "admin", "", dbUseJet) 
 Workspaces.Append wrkNewAcc 
 
 ' Enumerate the Workspaces collection. 
 For Each wrkLoop In Workspaces 
 With wrkLoop 
 Debug.Print "Properties of " & .Name 
 ' Enumerate the Properties collection of the new 
 ' Workspace object. 
 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 
 
 wrkNewAcc.Close 
End Sub 

В этом примере используется метод CreateWorkspace для создания рабочей области Microsoft Access. Затем перечисляются свойства рабочей области.

Sub CreateWorkspaceX() 
 
 Dim wrkAcc As Workspace 
 Dim wrkLoop As Workspace 
 Dim prpLoop As Property 
 
 
 DefaultType = dbUseJet 
 ' Create an unnamed Workspace object of the type 
 ' specified by the DefaultType property of DBEngine 
 ' (dbUseJet). 
 Set wrkAcc = CreateWorkspace("", "admin", "") 
 
 ' Enumerate Workspaces collection. 
 Debug.Print "Workspace objects in Workspaces collection:" 
 For Each wrkLoop In Workspaces 
 Debug.Print " " & wrkLoop.Name 
 Next wrkLoop 
 
 With wrkAcc 
 ' Enumerate Properties collection of Microsoft Access 
 ' workspace. 
 Debug.Print _ 
 "Properties of unnamed Microsoft Access workspace" 
 On Error Resume Next 
 For Each prpLoop In .Properties 
 Debug.Print " " & prpLoop.Name & " = " & prpLoop 
 Next prpLoop 
 On Error GoTo 0 
 End With 
 
 wrkAcc.Close 
 
End Sub