Colección Workspaces (DAO)
Se aplica a: Access 2013, Office 2013
Una colección Workspaces contiene todos los objetos Workspace activos que no están ocultos del objeto DBEngine. (Los objetos Workspace ocultos no se agregan a la colección y se hace referencia a ellos mediante la variable a la que están asignados.)
Comentarios
Use el objeto Workspace para administrar la sesión actual o iniciar una sesión adicional.
Cuando haga referencia por primera vez a un objeto Workspace o lo utilice, creará automáticamente el área de trabajo predeterminada, DBEngine.Workspaces(0). La configuración de las propiedades Name y UserName del área de trabajo predeterminada son "#Default Workspace #" y "Admin", respectivamente. Si está habilitada la seguridad, el valor de la propiedad UserName es el nombre del usuario que ha iniciado sesión.
Puede crear nuevos objetos Workspace con el método CreateWorkspace. Después de crear un nuevo objeto Workspace, debe agregarlo a la colección Workspaces si necesita hacer referencia a él desde la colección Workspaces. Sin embargo, puede utilizar un objeto Workspace recién creado sin agregarlo a la colección Workspaces.
Para hacer referencia a un objeto Workspace de una colección por su número ordinal o por su propiedad Name, use cualquiera de las formas sintácticas siguientes:
DBEngine.Workspaces(0)
DBEngine.Workspaces("name")
DBEngine. Áreas de trabajo [nombre]
Nota:
[!NOTA] Las áreas de trabajo de ODBCDirect no se admiten en Microsoft Access 2013. Use ADO si quiere acceder a orígenes de datos externos sin usar el motor de base de datos de Microsoft Access.
Ejemplo
En este ejemplo, se crea un nuevo objeto Workspace de Microsoft Access y se lo anexa a la colección Workspaces. Luego se enumeran las colecciones Workspaces y la colección Properties del objeto 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
En este ejemplo, se usa el método CreateWorkspace para crear un área de trabajo de Microsoft Access. A continuación, se muestran las propiedades del área de trabajo.
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