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

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

這箇問題以前很久有回覆過,以前在論罎也髮錶過技巧,最近又有不少客戶和網友遇到瞭,這裡再重新寫一篇



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

    分享