QueryTables.Add应用程序错误

时间:2014-01-31 14:52:50

标签: excel oracle vba

很抱歉,如果这是一个非常基本的问题 - vb绝对不是我花费大部分时间的地方......

这是我坚持的代码 - (Excel 2007)

    Set qt = ActiveSheet.QueryTables.Add(Connection:=str1, Destination:=Range("Schedule!A4"), Sql:=SQLSTRING)
    qt.Name = "TEQuery"
    qt.Refresh <-- error thrown on this line

当我调用refresh时,我得到1004:应用程序定义的或对象定义的错误,这对我来说似乎太过于错误,无法找出可能存在的问题。

在locals窗口中,我可以看到qt和activesheet.querytables对象的行为与我期望的一样(非null等),并且我检查了我的查询文本,当在数据源上运行时肯定会返回一个明智的结果。有什么想法吗?

ETA - 我注意到数据连接向导中缺少Oracle DB for OLE DB - 这是一个新的oracle客户端11.2.0安装 - 自从我上次使用这个宏以来得到了一台新机器......这可能是问题?

1 个答案:

答案 0 :(得分:0)

很高兴回答我自己的问题一次:)

我安装了64位客户端,因此excel 2007显然无法连接,因为它是一个32位应用程序,需要32位客户端驱动程序。

仍然 - 关于通用错误消息的耻辱!