很抱歉,如果这是一个非常基本的问题 - 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安装 - 自从我上次使用这个宏以来得到了一台新机器......这可能是问题?
答案 0 :(得分:0)
很高兴回答我自己的问题一次:)
我安装了64位客户端,因此excel 2007显然无法连接,因为它是一个32位应用程序,需要32位客户端驱动程序。
仍然 - 关于通用错误消息的耻辱!