问题点:用WithEvents 定义的RecordSet,,无法作为参数正常传递。
问题点:用WithEvents 定义的RecordSet,,无法作为参数正常传递。
‘注:如果去掉WithEvents,则程序可正常执行。
Dim WithEvents mRs As ADODB.Recordset
Private Sub cmdReset_Click()
Dim strSQL As String
strSQL = "Select Top 20 LogID from tblLog"
Set mRs = New ADODB.Recordset
mRs.Open strSQL, mdb, adOpenKeyset, adLockBatchOptimistic ‘注:此时,mRs.RecordCount=20
ReSetRecordSet mRs
‘注:此时,mRs.RecordCount还是20,但是,应该是10才对。End Sub
Private Sub ReSetRecordSet(ByRef pRecordset As ADODB.Recordset)
Dim strSQL As String
strSQL = "Select Top 10 LogID from tblLog "
Set pRecordset = New ADODB.Recordset
pRecordset.Open strSQL, mdb, adOpenKeyset, adLockBatchOptimistic '注:此时,pRecordset.RecordCount=10
End Sub