Workspaces コレクション (DAO)

適用先: Access 2013、Office 2013

Workspaces コレクションには、 DBEngine オブジェクトの、表示されているアクティブなすべての Workspace オブジェクトが含まれます。 非表示の Workspace オブジェクトはコレクションに追加されず、割り当てられている変数によって参照されます。

注釈

Workspace オブジェクトを使用して、現在のセッションを管理するか別のセッションを開始します。

Workspace オブジェクトを初めて参照または使用すると、自動的に既定のワークスペース DBEngine.Workspaces(0) が作成されます。 この既定のワークスペースの Name プロパティと UserName プロパティの設定は、"#Default Workspace#" と "Admin" です。 セキュリティが有効になっている場合、 UserName プロパティの設定はログオンしたユーザーの名前になります。

CreateWorkspace メソッドを使用すると、新しい Workspace オブジェクトを作成できます。 新しい Workspace オブジェクトを作成した後、それを Workspaces コレクションから参照する必要がある場合は、オブジェクトを Workspaces コレクションに追加する必要があります。 ただし、新しく作成した Workspace オブジェクトは、 Workspaces コレクションに追加せずに使用することもできます。

コレクション内の Workspace オブジェクトを、コレクションで付けられたインデックスまたは Name プロパティの設定値で参照するには、次のいずれかの構文を使います。

DBEngine.Workspaces(0)

DBEngine.Workspaces("name")

DBEngine。ワークスペース![name]

注:

[!メモ] Microsoft Access 2013 では、ODBCDirect ワークスペースはサポートされていません。 Microsoft Access データベース エンジンを使用しないで外部データ ソースにアクセスする場合は、ADO を使用してください。

例

この例では、新しい Microsoft Access ワークスペース オブジェクトを作成し、 Workspaces コレクションに追加します。 次に、 Workspaces コレクションおよび Workspace オブジェクトの Properties コレクションを列挙します。

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