You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA6中ADODB.Recordset的RecordsetChangeComplete事件正确声明方式

错误原因

你当前的事件声明存在参数类型不匹配问题:

  • pError 参数声明为VBA内置的Error类型,而该事件要求传入的是ADODB库专属的ADODB.Error类型
  • pRecordset 参数未指定ADODB库限定,当工程同时引用DAO等其他含Recordset类型的库时,会优先匹配其他库的类型,导致和事件定义不匹配
  • 枚举类型也建议补充ADODB限定,避免不同库同名枚举带来的冲突
正确声明代码
Private WithEvents AdoRecordset As ADODB.Recordset

Private Sub AdoRecordset_RecordsetChangeComplete( _
            adReason As ADODB.EventReasonEnum, _
            pError As ADODB.Error, _
            adStatus As ADODB.EventStatusEnum, _
            pRecordset As ADODB.Recordset)
    ' 你的业务逻辑写在这里
End Sub
补充说明

如果你的工程仅引用了ADODB一个数据库相关类库,仅给pError补充ADODB.前缀也可以解决报错,但给所有相关类型都加库限定是最稳妥的写法,完全不受类库引用顺序影响。

内容的提问来源于stack exchange,提问作者user14806945

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 00:24:03