網絡數據庫的復制和同步(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
De
bug.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.anti-gravitydesign.com