为了实现复本燥乍, Microsoft Jet数据库引擎提供了多个对象、属性和方法。在这一节中,将介绍与复本操作有关的对象、属性和方法。
1.Document对象和Documents集合
Document对象含有关于对象的一个实例的信息,对象可以是一个数据库、表、查询或关系(仅用于Microsoft Jet数据库)。
每个Container对象有一个包含Document对象的Documents集合(其关系详见VB的帮助文件),这些Document对象描述由Container指定类型的内置对象的实例。表1 列出了Document所描述的对象的类型、其Container对象的名称及Document包含信息的类型。
Document container 包含的信息
数据库 数据库 保存的数据库
表或查询 表或查询 保存的表或查询
关系 关系 保存的关系
用Document对象可以实现下列操作:
·用Name属性返回由用户或Microsoft Jet数据库引擎在建立对象时给对象所取的名字。
·用Container属性返回包含Document对象的Container对象的名称。
·用Owner属性设置或返回对象的拥有者。为了设置owner属性,用户必须有对Document对象的写权限,并且必须把userName属性设置为一个现有的user或Group对象的名称。
·用UserName属性或Permissions属性设置或返回一个用户或组对象的访问权限。为了设置这些属性,用户必须有对Document对象的写权限,并且必须把userName属性设置为一个现有的User或GrOup对象的名称。
·用DateCreated属性和LasUpdated属性分别返回建立Document对象和最后修改Document对象的日期和时间。
由于一个Document对象对应于一个现有的对象,因此用户不能建立新的Document对象或者删除现有的Document对象。一个Documents集合含有多个Document对象。可以通过以下几种格式引用一个Document对象:
Documents(0)
Documents("Name”)
Documents![name]
2.container对象和Containers集合
Contalner对象把相似类型的Document对象放在一个组中。每个Database对象含有由内部container对象组成的Containers集合。应用程序可以定自己的文档类型和相应的容器(仅对Microsoft Jet数据库),但这些对象不一定总是通过DAO支持。某些Container对象由Microsoft Jet数据库引擎定义,也可以由其它应用程序定义。
Container对象 包含的信息
数据库 保存的数据库
表 保存的表及查询
关系 保存的关系
说明:
1.)每个Container对象含有由Document对象组成的Documents集合,通常用Container对象作为到Document对象中信息的直接链接,也可以用container集合为给定类型的Document对象设置安全性。
2.)用Container对象可以实现以下操作:
·用Name属性返回Container对象的预定义名称。
·用Permissions和UserName属性来设置container对象的权限;在Container对象的Documents集合中建立Document对象来继承这些访问权限设置。
·用owner属性设置或返回Container对象的所有者。为了设置Ower属性,必须写入Container对象的权限,并把属性设置为现有user或Group对象的名称。
(3)Container对象是由系统预定的,因此不能建立新的container对象,也不能删除现有的Container对象。
(4)可以通过顺序号或Name属性设置或引用集合中的container对象,例如:
Containers(0)
Containers(”name”)
Containers![Name]
【例】编写程序,列出Tables容器中的Documents集合。
在窗体上画一个命令按钮,然后编写如下的事件过程:
Private Sub Command1_Click()
Dim dbsnorthwind As Database
Dim docloop As Document
Dim prploop As Property
Set dbsnorthwind = OpenDatabase("e:\f.mdb")
With dbsnorthwind.Containers!tables
Debug.Print "documents in " & .Name & "container"
'列出Table容器中的Documents集合
For Each docloop In .Documents
Debug.Print " " & docloop.Name
Next docloop
End with
dbsnorthwind.close
End sub
该过程列出f.mdb数据库Table容器中的Documents集合。程序运行后,单击命令按钮,即可在“立即”窗口中列出该集合。
(出处:ChinaAsp )