对象变量的集合
对于对象变量可以理解为属于某种类型对象的集合,这个集合可以有很多对象,也可以只有一个,甚至可以是空集。在VB中可以用Set语句使一个对象变量指向一个具体的控件。
对于集合对象,其Count属性是一个非常重要的属性,利用这个属性可以对同一类对象的某一共同的属性进行访问和操作。如可以用以下的代码实现将项目中所有窗体上控件的字体的大小都设置成统一的格式,所有载入的窗体中的控件的字体都被指定为微软雅黑,字号为16。
(1) 在项目中定义一标准模块
‘定义两个全局变量
Global CtrFont As Control, Aform As Form
‘定义一FontAllSame子过程
Sub FontAllSame()
Dim i, j As Integer
For i = 0 To Forms.Count – 1 ‘Count属性是从0开始的整数
Set Aform = Forms(i)
For j = 0 To Aform.Controls.Count – 1
Set Font1 = Aform.Controls(j)
CtrFont.FontName = "微软雅黑"
CtrFont.FontSize = 16
Next j
Next i
End Sub
(2) 在项目中的所有窗体的Activate事件中加入以下语句:
FontAllSame
2 数据库中的集合对象
在VB的数据库编程中,所有的数据库均看作是一个结构良好一致的对象所组成。可以使用对象的属性及方法对这些对象进行操作、创建和删除。
在VB数据库管理中数据的集合对象存在两类:一类是用于数据库结构的维护和管理,有三种集合:如,表集(TableDefs)、字段集(Fields)和索引集(Indexes);一类是数据存取对象的记录集:Recordset。每个集合对象都可以看作是一个数组,并按数组的方法来调用。一旦数据库建立以后,就可以用这些集合来对数据库的结构进行修改和数据处理。
在这些集合中同样具有属性Count,利用它可对集合中的元素进行操作,如下面是打开一个数据库,并取得其内各表(Table)的具体特征的应用程序实例。可以得到各表:表名,字段名,字段的个数,字段的类型,表中记录的条数。
Sub TableInfo()
Dim i, j As Integer, Fname As String
Dim db1 As Database, Td1 As TableDefs
Dim fld1 As Fields
Dim FieldNum, RecNum As Integer
Fname$ = "d:\mdb\xx.mdb" ‘XX为Access数据库文件
Set db1 = OpenDataBase(Fname$) '打开一数据库文件
Set Td1 = db1.TableDefs
For i = 1 To Td1.Count - 1
Debug.Print Td1(i).Name ‘输出表名
Set fld1 = Td1(i).Fields
FieldNum = fld1.Count
RecNum = Td1(i).RecordCount
Debug.Print "当前表共有"; FieldNum; "个字段" ‘输出字段的个数
Debug.Print "当前表有:"; RecNum; "记录" ‘输出记录的个数
For j = 0 To fld1.Count - 1
Debug.Print "字段名", fld1(j).Name ‘输出字段名
Debug.Print "类型", fld1(j).Type ‘输出字段类型
Next j
Next i
End Sub
从以上的程序中可以清楚地看出:数据库、表、字段存在着层次关系。在VB中层次结构的顶部是Jet数据引擎(DBEngine对象),它是惟一不被其它对象所包含的数据访问对象。DBEngine对象拥有一个Workspaces集合,该集合含有一个或多个Workspace对象。每个Workspace对象有一个Database集合,该集合又有一个或多个Database对象。每个Database对象含有一个TableDfes集合,该集合又含有一个或多个TableDef对象,依次类推。集合的对象都是基于0的索引来访问的。
如:DBEngine.Workspaces(0).Databases(0).TableDefs(0).Fields(“CustName”)
【VB中数据集合对象的应用】相关文章:
2025年外省高中学业水平合格性考试成绩转入江苏认定的通告公布05-07
Vb中控件的自动排列05-07
写未来的作文300字05-07
Our Mother Is the Same 我们的妈妈是一样的05-07
中国大地保险公司实习报告05-07
小学父爱的作文600字05-07
2016年职称英语综合类阅读判断练习八05-07
07年4月北师大“中国古代文学史(一)”串讲(5)05-07
汪涵讲述小时候成长经历:鸡毛掸子的故事05-07
2023年广东梅州中考成绩查询时间及查分入口[7月7日起]05-07
关于清明节的英语作文:清明节05-07
