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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97