DAO ADO引用顺序造成类型不匹配运行错误13

2017-09-20 12:15:00
zstmtony
原创
365

这个问题以前很久有回复过,以前在论坛也发表过技巧,最近又有不少客户和网友遇到了,这里再重新写一篇



客户在使用DAO对数据操作时,出现以下的错误提示:

运行错误13 类型不匹配

ado 用2.1 2.6 2.8 其中一个就行
另外要dao360.dll
客户  16:45:08

我已经引用了

还是一样的错误提示



原因:这个就是显式定义与非显示定义的问题

   因为dao 与 ado都有 Recordset对象
   如果你 非显式指明是哪一个,像下面这样
    Dim RsT As Recordset
  1)那如果你引用中 dao 在ado的前面
      它默认就认为是 dao.recordset
   2)如果 你引用中 ado在dao的前面
       它默认就认为是 adodb.recordset


所以最好是定义时 显式指明你的变量是 dao还是ado


Dim RsT As  DAO.Recordset
Dim RsT1 As  adodb.Recordset



Access默认的currentdb 就是Dao


就是2种解决方法:

1.在引用那个窗口,将dao360的引用 按上箭头号 提到ADO引用的前面 去,这样你在代码中 使用 dim rs as recordset 就默认是Dao

2. 直接在代码中显式指定为dao ,即  dim rs as dao.recordset

    分享