Visual Basic中数据集合对象的应用


  摘要:

集中对象(Collection)是VB主要的 特色,利用它 可以对 存在一起属性的对象进行操作 拜访 。本文介绍了VB中的内部 集中和自定义 集中的 利用,以及它与数组的异同 。

   要害词:

Visual Basic 6.0 集中对象 利用 

  Visual Basic提供一种很有用的数据 集中对象(Collection),它是由 有关数据所组成的有序集,它 可以使编程者对一组对象进行操作 。Visual Basic 本身含有一些内部 集中,如Forms、Controls和Printers等,它们给出了工程中全部窗体、具体窗体中的全部控件以及 Windows环境中的全部打印机的信息 。假如要 构建自己的 集中,则需求 使用Collection类 。

  对象变量的 集中

  关于对象变量 可以 了解为属于某 品种型对象的 集中,这个 集中 可以有众多对象,也 可以惟独一个,甚至 可以是空集 。在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:mdbxx.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