复本操作的对象、属性和方法(2)--网络数据库的复…
2018-06-17 17:12:15来源:未知 阅读 ()
Property对象用来描述一个DAO对象的内部属性或用户定义属性,与DAO对象及Properties集合的关系为DAO对象包含Properties集合,Properties集合包含property对象。(其关系详见VB帮助文件)
除Connection和Error对象外,每个DAO对象都含有一个property集合,在该集合中有与相应的DAO对象的内部属性一致的Property对象。同时,用户可以定义Property对象并将其加入某些下列DAO对象的Properties集合:
·Database,Index,QueryDef和TableDef对象
·TableDef对象和QueryDef对象的Fields集合中的Field对象
Property有4个预定义的属性:
·Name属性:是一个字符串,属性的唯一标识。
·Type属性:是一个整型数(Integer),用来指定属性的数据类型。
·Value属性:是一个包含属性设置的Variant类型的值。
·Inherited属性:是一个Boolean值,用来指示属性是否从另一个对象继承而来。
Property对象既有预定义的属性,也有用户定义的属性,在引用时,其格式是不一样的。顶定义属性的引用格式为:
对象.属性
而用户定义的属性必须采用下面的引用格式:
对象.Properties.(“属性”)
【例】编写程序,列出Tables容器中的Documents集合,然后列出集合中的第一个Document对象的Properties集合。
在窗体上画一个命令按钮,然后编写如下事件过程:
PrivateSubCommand1_Click()
DimdbsnorthwindAsDatabase
DimdocloopAsDocument
DimprploopAsProperty
Setdbsnorthwind=OpenDatabase("e:\f.mdb")
Withdbsnorthwind.Containers!tables
Debug.Print"documentsin"&.Name&"container"
ForEachdocloopIn.Documents
Debug.Print""&docloop.Name
Nextdocloop
With.Documents(0)
Debug.Print"propertiesof"&.Name&"document"
OnErrorResumeNext
ForEachprploopIn.Properties
Debug.Print""&prploop.Name&"="&prploop
Nextprploop
OnErrorGoTo0
EndWith
EndWith
dbsnorthwind.Close
EndSub
程序的前半部分与前面的例子相同,后半部分列出第一个Document对象(即Documents(0)的Properties集合。运行程序,单击命令按钮,即可在“立即”窗口中列出上述内容。
用户定义的属性通过CreateProperty方法来定义,用该方法可以建立由用户定义的Property对象(仅MicrosoftJet工作区),用于Database,Document,Field,Index,QueryDef和TableDef对象。其格式为:
setproperty=对象.CreateProperty(name,type,value,DDL)
各参数的含义如下:
·property:对象变量,要建立的Property对象。
·Object:对象变量,可以是Database,Field,Index,QueryDef和TableDef对象,可以对这些对象建立Property对象。
·name:可选。variant类型(字符串子型),唯一地命名新的Property对象。
·type:可选。常数,定义新Property对象的类型。
·value:可选。variant类型,指定属性的初值。
·DDL:可选。Variant类型(Boolean子型),用来指示该属性是否是一个DDl对象,缺省值为False。如果DDL为True,则不能删除这个property对象(除非得到dbsecWriteDef的允许)。
说明:
1.)只能在一个永久对象的Property集合中建立用户定义的Property对象。在用CreateProperty方法建立Property对象时,如果省略了一个或多个可选参数,则可在向一个集合追加新的对象之前,用赋值语句设置或重新设置相应的属性。在向集合中追加新的对象之后,可以改变其属性设置的一部分(不是全部)。
2.)如果name参数指的是该集合中已经存在的对象成员,则当用Append方法追加时,将会出现错误。
3.)为了从集合中删除一个由用户定义的属性对象,可以用集合的Delete方法来实现。该方法只能删除用户定义的对象,不能删除预定义属性。
4.)如果省略了DDL参数,则缺省为False(即非DDL)。在这种情况下,没有出现相应的DDL属性,如果需要将一个Property对象由DDL变为DDL,则必须先删除,然后再重新建立。
5.)CreateProperty方法中的type参数是一个符号常量,它是Property对象的设置值或返回值,其可能的取值见表3
type参数的取值
常数类型常数类型
dbBigIntBig整型数dbGUIDGUID
dbBinary二进制dbInteger整型数
dbBoolean布尔值dbLong长整型数
dbByte字节dbLongBinary长二进制(OEL对象)
dbChar字符dbMemoMemo
dbCurrency货币dbNumeric数值
dbDate日期/时间dbsingle单精度
dbDecimal十进制dbText文本
dbDouble双精度dbTime时间
dbFloat浮点数dbTimeStampTimeStamp
dbVarBinaryVarBinary
(表3)
设MyDB是一个Database对象变量,MyPro是一个Property对象变量,则可以用下面的程序建立Property对象:
setMyPro=MyDB.createProperty()
MyPro.Name="NewDefined"
MyPro.Type=dbText
MyPro.Value="这是一个用户定义的属性"
可以用下面的语句把新建立的属性加到Properties集合中:
MyDB.Properties.AppendprpNew
【例】编写程序,建立用户定义的Property对象,并把它加到Properties集合中。在窗体上画一个命令按钮,然后编写如下的事件过程。
PrivateSubCommand1_Click()
DimdbsnorthwindAsDatabase
DimprpnewAsProperty
DimprploopAsProperty
Setdbsnorthwind=OpenDatabase("e:\f.mdb")
Withdbsnorthwind
'建立并添加用户定义的属性
Setprpnew=.CreateProperty()
prpnew.Name="userdefinednew"
prpnew.Type=dbText
prpnew.Value="thisisauser_definednewproperty."
.Properties.Appendprpnew
'列出当前数据库的所有属性
Debug.Print"propertiesof"&.Name
ForEachprploopIn.Properties
Withprploop
Debug.Print""&Name
Debug.Print"type:"&.Type
Debug.Print"inherited:"&.Inherited
EndWith
Nextprploop
EndWith
EndSub
上述程序建立了一个名为userdefinednew的属性,其类型为dbText,初值为“thisisauser_definednewproperty。”运行程序,单击按钮,将建立该属性,并在立即窗口中显示当前数据库的所有属性。(包括新建立的属性)->
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:带有历史记录功能的菜单
下一篇:利用API播放声音文件
- ADO三大对象的属性、方法、事件及常数(二) 2018-06-17
- 复制数据库(1)--网络数据库的复制和同步(5) 2018-06-17
- 集合类:VBA集合对象的安全包装 2018-06-17
- VB编程步步高-代码效率篇 2018-06-17
- 数据库复本--网络数据库的复制和同步(1) 2018-06-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash