容器对象 (DAO)

适用于:Access 2013、Office 2013

Container 对象可将相似类型的 Document 对象组合在一起。

备注

每个 Database 对象都具有一个由内置 Container 对象组成的 Containers 集合。 应用程序可以定义其自身的文档类型和相应的容器(仅适用于 Microsoft Access 数据库引擎数据库);但是,不一定总能通过 DAO 支持这些对象。

这些 Container 对象中的一部分是由 Microsoft Access 数据库引擎定义的,而其余部分可能是由其他应用程序定义的。 下表列出由 Microsoft Access 数据库引擎定义的每个 Container 对象的名称,以及该名称包含的信息类型。

容器名称

包含何类信息

Databases

保存的数据库

表格

保存的表和查询

Relations

保存的关系

注意

[!注释] 不要将上表列出的 Container 对象与带有相同名称的集合相混淆。 Databases Container 对象引用所有保存的数据库对象,但是 Databases 集合只引用在特定工作区中打开的数据库对象。

每个 Container 对象具有一个 Documents 集合,该集合包含对 Container 所指定的内置对象类型的实例进行描述的 Document 对象。 通常,可以将 Container 对象用作指向 Document 对象中的信息的中间链接。 还可以使用 Containers 集合设置给定类型的所有 Document 对象的安全性。

对于现有的 Container 对象,您可以进行下列操作:

  • 使用 Name 属性返回 Container 对象的预定义名称。

  • 使用 Owner 属性设置或返回 Container 对象的所有者。 要设置 Owner 属性,必须对 Container 对象具有写入权限,并且必须将属性设置为现有的 UserGroup 对象的名称。

  • 使用 PermissionsUserName 属性设置对 Container 对象的访问权限;在 Container 对象的 Documents 集合中创建的任何 Document 对象将继承这些访问权限设置。

因为 Container 对象是内置,所以不能创建新的 Container 对象,或删除现有的此类对象。

若要按照序号或 Name 属性设置来引用集合中的 Container 对象,可以使用下列任何一种语法形式:

  • 容器 (0)

  • 容器 (“name”)

  • 容器![name]

示例

以下示例枚举 Northwind 数据库的 Containers 集合以及该集合中每个 Container 对象的 Properties 集合。

    Sub ContainerObjectX() 
     
     Dim dbsNorthwind As Database 
     Dim ctrLoop As Container 
     Dim prpLoop As Property 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     
     With dbsNorthwind 
     
     ' Enumerate Containers collection. 
     For Each ctrLoop In .Containers 
     Debug.Print "Properties of " & ctrLoop.Name _ 
     & " container" 
     
     ' Enumerate Properties collection of each 
     ' Container object. 
     For Each prpLoop In ctrLoop.Properties 
     Debug.Print " " & prpLoop.Name _ 
     & " = " prpLoop 
     Next prpLoop 
     
     Next ctrLoop 
     
     .Close 
     End With 
     
    End Sub