DAO ADO引用順序造成類型不匹配運行錯誤13

2017-09-20 12:15:00
zstmtony
原創
2913

這個問題以前很久有回復過,以前在論壇也發表過技巧,最近又有不少客戶和網友遇到了,這里再重新寫一篇



客戶在使用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

    分享
    黑龙江p62开奖公告l