此代码位于ActiveX .dll中。一年来,这种联系完美无缺,现在还没有。这是代码:
Dim objConnection As ADODB.Connection
Dim objRs As ADODB.Recordset
Dim theConnectionStr As String
Dim SanMarDB As Databas
Dim SanMarRs As Recordse
.
.
.
Set objConnection = New ADODB.Connection
theConnectionStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & gProgramFilesPath & ";" & _
"Extended Properties='text;HDR=YES;FMT=Delimited;IMEX=1'"
objConnection.Open theConnectionStr
这是我在.dll中的引用列表:
我收到两条错误消息之一。这是第一个
Windows注册表的“引擎”部分的Excel键中的设置无效。
Google向我指出了此错误消息的一些原因,并且我已检查了注册表设置,它显示正确,CSVDelimited,没有5-char条目等。
第二条错误消息是:
对象变量或未设置块变量
使这个特别奇怪的是我有另一个dll具有完全相同的引用和代码,它完美地工作。 (只有一些文件名不同)。
有什么想法?谢谢你帮我解决这个问题。
-t
答案 0 :(得分:0)
至少尝试一下:
theConnectionStr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source='" & gProgramFilesPath & "';" & _
"Extended Properties='text;HDR=YES;FMT=Delimited;IMEX=1'"
即。如果字符中断连接字符串解析,请在Data Source
的值周围使用引号(上面的撇号)。
此外,IMEX
是否仅用于Excel IISAM而不是Text和HTML IISAM?
在一个程序中混合使用ADO和DAO很奇怪,但希望无关。