4.keepLocal属性和Replicable属性

  (1)KeepLocal属性

  KeepLocal属性用来保持对象的本地化,即在复制数据库时,使指定的对象不被复制。性用于Document对象、QueryDef对象和TableDef对象。其配置或返回的值是Text类假如把该属性配置为“T”,则在复制数据库时可使相应的对象保持为本地对象。对象制后,不能使用KeepLocal属性。在获取或配置TableDef或QueryDef的KeepLocal属性之前,必须先用CreateProperty建立,并把他附加到对象的Properties集合中。

  配置了KeepLocal属性后,该属性将出现在Document对象的Properties集合中。KeepLocal通过CreateProperty方法配置。例如:

  Dim dbs As Database

  Dim docTemp As Document

  Dim prpTemp As Property

  Set dbs = OpenDatabase(''dbtemp.m4b``)

  Set docTemp = dbs.Containers(''Modules'').Docu Functions'')

  Set prpTemp = docTemp.Createproperty(''KeepLoc dbText, ''T'')

  docTemp.Properties.Append pWTemp

  dbs.Close

上面的程式把KeepLocal属性附加到Documeni对象的properties集合中去。必须在数据库变为可复制之前配置对象(例如表)的属性。再如:

  Sub SetKeepLocal(tdftemp As TableDef)

   On Error GoTo ErrHandler

   tdfTemp.Properties("KeepLOcal")="T"

   On Error GoTo 0

   Exit Sub

 ErrHandler:

  Dim prpNew As Property

  If Err.Number = 3270 Then

   Set prpNew = tdfTemp.Createproperty("KeepLocal", dbText, "T")

   tdfTemp.Properties.Append prpNew

  Else

   MsgBox "Error" & Err & "." & Error

  End if

  End Sub

上面的过程把指定对象Tab1eDef的KeepLocal属性配置为“T”。假如keepLocal属性不存在,则先建立之,然后把他附加到表的Properties集合中去,并将其值配置为“T”。

  (2)Replicable属性

  Replicable属性用来配置或返回一个值,这个值决定数据库或数据库中的对象是否能够复制(仅Microsoft Jet 工作区)。该属性用于Database对象、Document对象、QueryDef对象和TableDef对象。其配置或返回的值是Text类型。对于Database对象,假如把该属性配置为“T”,则能够复制数据库。配置为“T”后,就不能再改变他,假如把他配置为“F”(或其他非“T”值),则会产生错误。对于数据库中的对象,假如把该属性配置为“T”,则可复制Replicas集合中的任何Replica对象(连同对此对象的更改)。也能够在Microsoft Access的对象属性表中配置该属性。

  在配置一个Database,Tab1eDef或QueryDef对象的Replicable属性前,必须先用

  CreateProperty方法建立他,并把他加入对象的Properties集合中。例如:

  sub CreateReplLocalTableX()

  Dim dbsNorthwind As Database

  Dim tdfNew As TableDef

  Dim fldNew As Field

  Dim prpNew As Property

  Set dbsNorthwind = OpenDatabase("cdbdirdb3 .mdb")

  '建立一个名为“NewTab”的新TableDef

  Set tdfNew = dbsNorthwind.CreateTableDef("NewTab")

  '定义一个名为“NewField”的文本字段

  Set fldNew = tdfNew.CreateField(“NewField”, dbText, 3)

  '把新字段附加到TableDef中

  tdfNew.Fields.Append fldNew

  '把新TableDef添加到数据库中

  dbsNorthwind.TableDefs.Append tdfNew

  '为新TableDef建立Replicable属性

  Set prpNew = tdfNew.Createproperty(''Replicab , dbText, ''T'')

  '把Replicable 属性加到TableDef中

  tdfNew.Properties.Append prpNew

  dbsNorthwind.Close

  End Sub

上述过程建立一个新的TableDef 对象,并使其可复制。注意,包含该对象的数据库必是可复制的,才能执行此过程。再如:

  Sub SetReplicable(tdryemp As TableDeD)

  On Error GoTo ErrHandier

  tdryemp.PrOperties(''Replicable' = ''T'')

  On Error GoTo 0

  Exii Sub

ErrHandler.

  Dim prpNew As Property

  If Err.Number = 3270 Then

   Set prpNew = tdfTemp.Createproperty(``Replicab , dbText, ''T'')

   idfTemp.Properties.Append prpNew

  Else

   MsgBox “Error” & Err & “:” & Error

  End If

  End sub

上述过程将指定TableDef对象的Replicab1e属性配置为“T”。假如属性不存在,则在错误处理子程式中建立之,然后附加到TableDef的Properties集合中,并配置为“T”。

  5.MaKeReplica方法

  MakeReplica方法用来从一个数据库复本中复制一个新的复本(仅用于Microsoft Jet 工作区)。该方法用于Database对象,其格式如下:

  对象.MakeReplica replica,description,options

  格式中各参数的含义如下:

  ·对象: Database对象变量。

  · rep1ica:是个字符串,指定新复本的路径和文档名,假如该参数是当前文档名,则会发生错误。

  ·description:是个字符串,用来描述所生成的复本。

  ·opii0n8:可选。是个符号常量或常量组合,用来指定所生成的复本的特征,能够取以下两种值:

  dbRepMakepartial生成一个部分复本

  dbRepMakeReadoniy防止修改新复本。但是,当将新复本和复本集中的另一个复本同步时,对设计和数据的修改将传送到新复本

  上述两个常量能够单独使用,也能够用“十”号组合在一起,例如:

  dbRepMakePartial + dbRepMakeReadOnly

查看本文来源