网络数据库的复制和同步(2)

发表于:2007-07-14来源:作者:点击数: 标签:
网络 数据库的复制和同步(2) 与复本操作有关的对象、属性和方法 为了实现复本燥乍, Microsoft Jet数据库引擎提供了多个对象、属性和方法。在这一节中,将介绍与复本操作有关的对象、属性和方法。 1.Document对象和Documents集合 Document对象含有关于对
网络数据库的复制和同步(2)

与复本操作有关的对象、属性和方法

   为了实现复本燥乍, 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集合。程序运行后,单击命令按钮,即可在“立即”窗口中列出该集合。

(未完待续)

原文转自:http://www.ltesting.net