近日有台机器上总是出现错误(80040e14)‘未知’错误,好多程序都无法运行了。不知道哪里出了问题。连C#编写的数据访问都出现“未知”错误。
怀疑是ADO数据访问组件的问题。
试下看DAO是否有同样的问题。
打开原程序源码,在工程引用中添加“Microsoft DAO 3.6 Object Libary”。
然后在按钮事件中如下:
<pre name="code" class="vb">Privat Sub Command1_Click()
Dim myDB As Database
Dim myRs As Recordset
Set mywk = DBEngine.Workspaces(0)
Set myDB = mywk.opendatabase(App.Path & "\Data\myMDB.mdb", True, False, "ms access;pwd=password")
Set myRs = myDB.openrecordset("MyTable")
MsgBox myRs.Fields("字段1")
Set myRs = Nothing
Set myDB = Nothing
Set mywk = Nothing
End Sub
运行程序,在
Set myRs = myDB.openrecordset("MyTable")
行出现错误“类型不匹配”。
百度了一下,在http://support.microsoft.com/kb/181542/zh-cn中发现原来是因为工程中先引用了ADO的缘故,把ado的引用顺序放在DAO之后,上面一段程序正常运行了。