DataGrid.DataSource出现了Type mismarch
定义了一个类模块控制DataGrid的显示,可是在
DataGrid.DataSource出现了类型匹配错误是怎么回事呢?
部分源代码如下:
1、调用类模块
Public nd as DataList
Set rst = New ADODB.Recordset
rst.open "select name,code1,code2,num,[date] from tabel1",_
cnn,adOpenDynamic, adLockOptimistic, adCmdText
Set nd = New DataList
nd.SetList rst
DataGrid1.DataMember = "List"
Set DataGrid1.DataSource = nd'这句就出错了
2、类模块定义
Option Explicit
Private WithEvents rst2 As ADODB.Recordset
Public Sub SetList(rst As ADODB.Recordset)
With rst2
.Fields.Append "NAME", adVarChar, 50
.Fields.Append "CODE1", adVarChar, 3
.Fields.Append "CODE2", adVarChar, 7
.Fields.Append "NUM", adInteger
.Fields.Append "DATE", adDate
.CursorType = adOpenStatic
.LockType = adLockOptimistic
.Open
End With
rst.MoveFirst
While Not rst.EOF
rst2.AddNew
rst2!name = rst(0)
rst2!code = rst(1)
rst2!code = rst(2)
rst2!num = rst(3)
rst2!date = rst(4)
rst.MoveNext
rst2.Update
Wend
End Sub
Private Sub Class_GetDataMember(DataMember As String, Data As Object)
Select Case DataMember
Case "List"
Set Data = rst2
Case ...
Case Else
Set Data = Nothing
End Select
End Sub
Private Sub Class_Initialize()
Set rst2 = New ADODB.Recordset
End Sub