Partager via


Objet Document (DAO)

S’applique à : Access 2013, Office 2013

Un objet Document inclut des informations sur une instance d'un objet. L'objet peut être une base de données, une table enregistrée, une requête ou une relation (bases de données de moteur de base de données Microsoft Access uniquement).

Remarques

Chaque objet Container comporte une collection Documents qui contient des objets Document qui décrivent des instances d'objets intégrés du type spécifié par l'objet Container. Le tableau ci-dessous répertorie le type d'objet que chaque objet Document décrit, le nom de son objet Container et le type d'informations contenues dans l'objet Document.

Document

Container

Contient des informations sur

Database

Bases de données

Base de données enregistrée

Table ou requête

Tableaux

Table ou requête enregistrée

Relation

Relations

Relation enregistrée

Remarque

[!REMARQUE] Ne confondez pas les objets Container répertoriés dans le tableau précédent avec les collections du même nom. L'objet Container des bases de données renvoie à tous les objets de base de données enregistrés, mais la collection Databases renvoie uniquement aux objets de base de données ouverts dans un espace de travail déterminé.

Avec un objet Document, vous pouvez :

  • Utiliser la propriété Name pour renvoyer le nom qu'un utilisateur ou le moteur de base de données Microsoft Access a donné à l'objet lorsqu'il a été créé.

  • Utiliser la propriété Container pour renvoyer le nom de l'objet Container qui contient l'objet Document.

  • Utiliser la propriété Owner pour définir ou renvoyer le propriétaire de l'objet. Pour définir la propriété Owner, vous devez disposer de l'autorisation d'écrire pour l'objet Document, et vous devez définir la propriété sur le nom d'un objet User ou Group existant.

  • Utiliser les propriétés UserName ou Permissions pour définir ou renvoyer les autorisations d'accès d'un utilisateur ou d'un groupe pour l'objet. Pour définir ces propriétés, vous devez disposer de l'autorisation d'écrire pour l'objet Document, et vous devez définir la propriété UserName sur le nom d'un objet User ou Group existant.

  • Utiliser les propriétés DateCreated et LastUpdated pour renvoyer la date et l'heure auxquelles l'objet Document a été créé et modifié pour la dernière fois.

Dans la mesure où un objet Document correspond à un objet existant, vous ne pouvez pas créer d'objet Document ou supprimer des objets existants. Pour faire référence à un objet Document d'une collection par son numéro ordinal ou par son paramètre de propriété Name, utilisez l'une des syntaxes suivantes :

  • Documents(0)

  • Documents(« name »)

  • Documents ! [name]

Exemple

Cet exemple énumère la collection Documents du conteneur Tables, puis la collection Properties du premier objet Document de la collection.

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 
 

Cet exemple utilise les propriétés Owner et SystemDB pour afficher les propriétaires de différents objets 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