在excel vba中使用jet oledb连接打开csv文件时出错

时间:2012-12-03 10:11:09

标签: vba oledb oledbconnection

我第一次使用stackoverflow,所以这里......

当我尝试在excel中运行一个用于从CSV文件中提取数据的宏时,我间歇性地收到错误。如果我开始一个新的会话,错误通常会消失,但这次它特别持久。它基本上是在.Open行下面的错误,给我一个“运行时错误'2147467259'(80004005)未指定的错误”:

Public Sub LoadFile()

file_path = Range("FlatFileLocation")

Set oConn = CreateObject("ADODB.Connection")

strcon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & file_path & "; Extended Properties=""text;HDR=Yes;FMT=Delimited(,)"";"

oConn.Open strcon

.....

其他信息:

1)我试图访问的文件未被其他用户打开

2)我在sub的末尾关闭了我的连接。另外,我只是尝试重新启动我的机器,错误发生在我第一次尝试运行文件

3)当我在没有任何现有插件的情况下打开会话时,它似乎有效。有没有办法检查是否存在某种类型的插件冲突?

还有其他帖子建议使用CSVReader。在尝试这条路线之前我遇到的问题是:

1)我可以在多台用户计算机上使用此CSVReader吗?我在这里遇到的问题是需要在许多机器上安装它。但是我可以将文件放在共享驱动器上。

2)我可以使用SQL字符串查询结果文件吗?目前我使用的是这样的东西:

....
strsql = "SELECT * FROM ( " & strsql & " ) WHERE ( ABS(PrevRisk) + ABS(CurrRisk) >= " & RiskThreshold & " ) ;"
Set oResult = New ADODB.Recordset
oResult.Open strsql, oConn
....

提前感谢您的帮助!

0 个答案:

没有答案