首页 > 解决方案 > 使用 ADODB 在 excel vba 中使用 sql

问题描述

我正在尝试使用以下sql查询来选择excel文件中的数据,我在子句中使用的是“来自table1”,但实际上我只是随机给出名称,我不知道它是如何创建别名的工作簿。

cn.Open ("Provider=Microsoft.ACE.OLEDB.15.0;Data Source=C:\workbook.xlsx; Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1;"";")
rst.Open "SELECT *" _

              & "from table1;", cn, adOpenStatic, adLockOptimistic, adCmdText

第一次运行良好以获取到工作簿的链接和正确的结果。但是当我尝试使用相同的子句“from table1”在同一路径中选择另一个工作簿时,它会给出运行时错误,如下所示:

在此处输入图像描述

所以我将其更改为 table2 但相同:找不到对象。

有没有人可以帮我解释一下这个功能?如果您需要其他信息,请不要犹豫。

非常感谢,

家民

标签: excelvba

解决方案


谢谢JNevill,

我已将代码修改如下:

cn.Open ("Provider=Microsoft.ACE.OLEDB.15.0;Data Source=C:\workbook.xlsx; Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1;"";")

   rst.Open "SELECT *" _

               & "from [Sheet0$];", cn, adOpenStatic, adLockOptimistic, adCmdText

现在可以了,感谢您的回复,祝您有美好的一天。

家民


推荐阅读