与复本操作有关的对象、属性和方法
为了实现复本燥乍,MicrosoftJet数据库引擎提供了多个对象、属性和方法。在这一节中,将介绍与复本操作有关的对象、属性和方法。
1.Document对象和Documents集合
Document对象含有关于对象的一个实例的信息,对象可以是一个数据库、表、查询或关系(仅用于MicrosoftJet数据库)。
每个Container对象有一个包含Document对象的Documents集合(其关系详见VB的帮助文件),这些Document对象描述由Container指定类型的内置对象的实例。表1列出了Document所描述的对象的类型、其Container对象的名称及Document包含信息的类型。
Documentcontainer包含的信息
数据库数据库保存的数据库
表或查询表或查询保存的表或查询
关系关系保存的关系
(表1)
用Document对象可以实现下列操作:
·用Name属性返回由用户或MicrosoftJet数据库引擎在建立对象时给对象所取的名字。
·用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集合。应用程序可以定自己的文档类型和相应的容器(仅对MicrosoftJet数据库),但这些对象不一定总是通过DAO支持。某些Container对象由MicrosoftJet数据库引擎定义,也可以由其它应用程序定义。由MicrosoftJet数据库引擎定义的Container对象及其所包含的信息见表2
Container对象包含的信息
数据库保存的数据库
表保存的表及查询
关系保存的关系
(表2)
说明:
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集合。
在窗体上画一个命令按钮,然后编写如下的事件过程:
PrivateSubCommand1_Click()
DimdbsnorthwindAsDatabase
DimdocloopAsDocument
DimprploopAsProperty
Setdbsnorthwind=OpenDatabase(“e:\f.mdb”)
Withdbsnorthwind.Containers!tables
Debug.Print”documentsin”&.Name&”container”
列出Table容器中的Documents集合
ForEachdocloopIn.Documents
Debug.Print””&docloop.Name
Nextdocloop
Endwith
dbsnorthwind.close
Endsub
该过程列出f.mdb数据库Table容器中的Documents集合。程序运行后,单击命令按钮,即可在“立即”窗口中列出该集合。->