我的oledb连接在一个工作簿上工作,但不在另一个上

所以我有两个不同的工作簿,两个不同的文件中的代码。 他们甚至在同一台计算机的同一个文件夹中。

strFile = "Z:\service\climatizacion.mdb" strCon = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & strFile Set cn = CreateObject("ADODB.Connection") cn.Open strCon strSQL = "SELECT codigorep, cantidad, precio, descripcion FROM cotizacion WHERE codigorep = " & lngInput & ";" Set rs = CreateObject("ADODB.RECORDSET") rs.Open Source:=strSQL, ActiveConnection:=cn, CursorType:=adOpenDynamic, LockType:=adLockOptimistic 

在其中一个工作簿中工作完美,它从数据库中select我需要的所有数据。

另一方面,当我尝试打开logging集时,它给了我运行时错误3001(应用程序使用的参数types错误,超出了可接受范围,或者相互冲突)。

我想通过这个代码,连接是问题(我可能是错的)

 If cn.State = adStateOpen Then MsgBox "connected" Else MsgBox "not connected" End If 

我无法find这些工作簿之间的区别,可以使此连接或整个代码工作或使其停止工作。 所有的variables声明,表存在,我可以通过访问打开他们没有问题,数据库位于我的本地networking上的PC上。

数据库是来自访问97的mdb文件。而且我在excel 2003上运行这两个工作簿,并且这两个都是由我用相同的Excel 2003创build的。

提前感谢您花时间阅读本文:D