Compartir a través de


Objeto Document (DAO)

Se aplica a: Access 2013, Office 2013

Un objeto Document incluye información sobre una instancia de un objeto. El objeto puede ser una base de datos, una tabla guardada, una consulta o una relación (sólo bases de datos del motor de base de datos de Microsoft Access).

Comentarios

Cada objeto Container tiene una colección Documents que contiene objetos Document que describen instancias de objetos integrados del tipo especificado por el objeto Container. La tabla siguiente enumera el tipo de cada objeto Document, el nombre de su objeto Container y el tipo de información que contiene Document.

Document

Contenedor

Contiene información sobre

Base de datos

Databases

Bases de datos guardadas

Tabla o consulta

Tables

Tabla o consulta guardada

Relación

Relations

Relación guardada

Nota:

[!NOTA] No confunda los objetos Container enumerados en la tabla anterior con las colecciones del mismo nombre. El objeto Container de bases de datos hace referencia a todos los objetos de bases de datos guardados pero la colección Databases hace referencia sólo a los objetos de bases de datos que están abiertos en un área de trabajo en particular.

Con un objeto Document, puede:

  • Utilizar la propiedad Name para devolver el nombre que un usuario o el motor de base de datos de Microsoft Access dieron al objeto cuando se creó.

  • Usar la propiedad Container para devolver el nombre del objeto Container que contiene el objeto Document.

  • Utilizar la propiedad Owner para establecer o devolver la propiedad del objeto. Para configurar la propiedad Owner, debe tener permiso de escritura para el objeto Document y establecer la propiedad en el nombre de un objeto User o Group existente.

  • Usar las propiedades UserName o Permissions para establecer o devolver los permisos de acceso para un usuario o grupo para el objeto. Para configurar estas propiedades, debe tener permiso de escritura para el objeto Document y establecer la propiedad UserName en el nombre de un objeto User o Group existente.

  • Utilizar las propiedades DateCreated y LastUpdated para devolver la fecha y hora en que se creó y modificó por última vez el objeto Document.

Dado que un objeto Document corresponde a un objeto existente, no se pueden crear nuevos objetos Document o eliminar los existentes. Para hacer referencia a un objeto Document en una colección mediante su número ordinal o mediante el valor de la propiedad Name, utilice una de las formas sintácticas siguientes:

  • Documents(0)

  • Documents("name")

  • ¡Documentos! [nombre]

Ejemplo

En este ejemplo se enumera la colección Documents del contenedor Tables y, a continuación, se enumera la colección Properties del primer objeto Document de la colección.

Sub DocumentX() 
 
 Dim dbsNorthwind As Database 
 Dim docLoop As Document 
 Dim prpLoop As Property 
 
 Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
 
 With dbsNorthwind.Containers!Tables 
 Debug.Print "Documents in " & .Name & " container" 
 ' Enumerate the Documents collection of the Tables 
 ' container. 
 For Each docLoop In .Documents 
 Debug.Print " " & docLoop.Name 
 Next docLoop 
 With .Documents(0) 
 ' Enumerate the Properties collection of the first. 
 ' Document object of the Tables container. 
 Debug.Print "Properties of " & .Name & " document" 
 On Error Resume Next 
 For Each prpLoop In .Properties 
 Debug.Print " " & prpLoop.Name & " = " & _ 
 prpLoop 
 Next prpLoop 
 On Error GoTo 0 
 End With 
 End With 
 
 dbsNorthwind.Close 
 
End Sub 
 

En este ejemplo se utilizan las propiedades Owner y SystemDB para mostrar los propietarios de varios objetos Document.

Sub OwnerX() 
 
 ' Ensure that the Microsoft Access workgroup file is 
 ' available. 
 DBEngine.SystemDB = "system.mdw" 
 
 Dim dbsNorthwind As Database 
 Dim ctrLoop As Container 
 
 Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
 
 With dbsNorthwind 
 Debug.Print "Document owners:" 
 ' Enumerate Containers collection and show the owner 
 ' of the first Document in each container's Documents 
 ' collection. 
 For Each ctrLoop In .Containers 
 With ctrLoop 
 Debug.Print " [" & .Documents(0).Name & _ 
 "] in [" & .Name & _ 
 "] container owned by [" & _ 
 .Documents(0).Owner & "]" 
 End With 
 Next ctrLoop 
 
 .Close 
 End With 
 
End Sub