Шаг 21 - Семейство Workspaces

Описание
Семейство 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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.