Data As Object) Set Data = rsNames End Sub 只要发生该事件——即当该类对象被绑定到一个数据使用者,如 DataGrid控件时,代码将返回该 recordset 对象。 11. 在 Form 对象的代码模块中,声明一个数据类的对象变量: Option Explicit Private datNames As NamesData ' 类变量 12. 在 Form 对象的 Load 事件的代码中,将 DataGrid 控件的 DataSource设置为该类对象。 Private Sub Form_Load() ' 创建一个新的 NamesData 对象 Set datNames = New NamesData ' 将这个 DataGrid 绑定到新的数据源 datNames Set DataGrid1.DataSource = datNames End Sub 13. 按 F5 键运行该工程。
给类添加一个属性 类模块也可以进行修改,来响应事件或函数调用。下面的代码演示了如何先给类添加属性。当从其它对象调用该对象时,这一属性将返回该类的RecordCount。 Public Property Get RecordCount() As Long RecordCount = rsNames.RecordCount End Sub
使用 DataMember 属性 GetDataMember 事件也包括 DataMember 参数。使用这个参数,可以在类模块中包括多个记录集,并使用带 DataMember 参数的 Select Case 语句来返回相应的记录集: Private Sub Class_GetDataMember(ByVal DataMember As String, Data As _ Object) Select Case DataMember Case "Names" Set Data = rsNames Case "Dates" Set Data = rsDates Case Else ' 设置一个默认的数据成员 Set Data = rsYears End Select End Sub 如果要指定所需的 DataMember,请将数据使用者的 DataMember 属性设置为适当的字符串,然后如平常一样设置 DataSource。对于 DataGrid 控件,可以采用如下方法: Private Sub Form_Load() ' 创建一个新的 NamesData 对象 Set datNames = New NamesData ' 指定所需的 DataMember,然后设置 DataSource。 DataGrid1.DataMember = "Names" Set DataGrid1.DataSource = datNames End Sub