如何解决在现有工作表上运行 Excel SQL - 无效的工作表/表格
目标:针对现有 Excel 工作表中的数据运行 SQL。
我在现有的 Excel 工作表上运行以下代码。所有 ADO 连接都在工作,但是当我运行 SQL 语句时,它告诉我我的表无效。我应该传递工作表的名称还是表格的名称?我都试过了。没有任何效果。
打开记录集时出错("rs.Open strSQL,cn")
当我在 SQL 中使用工作表的名称时,我收到以下信息: “AG1”不是有效名称。确保它不包含无效字符或标点符号,并且不要太长。
当我使用表名时,我收到以下信息: Microsoft Access 数据库引擎找不到对象“Table4”。确保该对象存在并且您正确拼写了它的名称和路径名。如果“Table4”不是本地对象,请检查您的网络连接或联系服务器管理员。
提前致谢。
Sub testSQL()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim strSQL As String
Dim strCon As String
' Declare variables
Dim strFile: strFile = ThisWorkbook.FullName
' construct connection string
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
' create connection and recordset objects
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
' open connection
cn.Open strCon
' construct SQL query
' "AG1" is the name of the sheet
' I've tried "Table4" (name of table) without luck
strSQL = "SELECT * FROM [AG1$] where [Language] = 'Spanish';"
' execute SQL query
rs.Open strSQL,cn
' close connection
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。