Partager via


Collection Workspaces (DAO)

S’applique à : Access 2013, Office 2013

Une collection Workspaces contient tous les objets Workspace actifs et non masqués de l'objet DBEngine. (Les objets Workspace masqués ne sont ni ajoutés à la collection ni référencés par la variable à laquelle ils sont affectés.)

Remarques

L'objet Workspace permet de gérer la session active ou de démarrer une session supplémentaire.

Lorsque vous utilisez ou référencez un objet Workspace pour la première fois, vous créez automatiquement l’espace de travail par défaut DBEngine.Workspaces(0). Les paramètres des propriétés Name et UserName de l'espace par défaut sont respectivement « #Default Workspace# » et « Admin ». Si la sécurité est activée, le paramètre de propriété UserName correspond au nom de l'utilisateur connecté.

Vous pouvez créer de nouveaux objets Workspace à l'aide de la méthode CreateWorkspace. After you create a new Workspace object, you must append it to the Workspaces collection if you need to refer to it from the Workspaces collection. Toutefois, vous pouvez utiliser un objet Workspace nouvellement créé sans l’ajouter à la collection Workspaces .

Pour faire référence à un objet TableDef dans une collection par son nombre ordinal ou par son paramètre de propriété Name, utilisez l’une des formes de syntaxe suivantes :

DBEngine.Workspaces(0)

DBEngine.Workspaces("name")

DBEngine. Espaces de travail ! [name]

Remarque

[!REMARQUE] Les espaces de travail ODBCDirect ne sont pas pris en charge dans Microsoft Access 2013. Utilisez ADO si vous voulez accéder aux sources de données externes sans avoir recours au moteur de base de données Microsoft Access.

Exemple

Cet exemple crée un nouvel objet Microsoft Access et l'ajoute aux collections Workspaces. Il énumère ensuite les collections Workspaces et la collection Properties de chaque objet 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 

Cet exemple utilise la CreateWorkspace méthode pour créer un espace de travail Microsoft Access. Il répertorie ensuite les propriétés de l'espace de travail.

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