【问题标题】:Excel ListObject (Format as Table) in SQLSQL中的Excel ListObject(格式为表格)
【发布时间】:2021-11-28 22:01:13
【问题描述】:

您可以在 Excel VBA 中使用 SQL 来查询工作表,如下所示:

Dim relConn As ADODB.Connection
Dim rs As ADODB.Recordset
Set relConn = CreateObject("ADODB.Connection")
relConn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" _
    & ThisWorkbook.FullName _
    & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"";"
Set rs = CreateObject("ADODB.Recordset")
rs.Open "SELECT [MyWorksheet$].MyFirstLineHeader FROM [MyWorksheet$]", relConn
While (Not rs.EOF)
  ...
Wend

→ 工作表在 SQL 中称为[WorksheetName$]

在 SQL 中,如何引用通过选择范围并从主页功能区选择 Format as Table 创建的 ListObject?在 VBA 中,它们的访问方式如下:ThisWorkbook.Sheets("MyWorksheet").ListObjects("MyTableName")

【问题讨论】:

    标签: sql excel vba oledb listobject


    【解决方案1】:

    试试

    Dim s as string
    s = ThisWorkbook.Sheets("MyWorksheet").ListObjects("MyTableName").Range.Address(0, 0)
    rs.Open "SELECT [MyFirstLineHeader] FROM [MyWorkSheet$" & s & "]", relConn
    

    【讨论】:

    • 这个有效!我接受它作为答案,但如果有人知道如何在 SQL 中引用表的名称,我会接受它。谢谢@CDP1802。
    猜你喜欢
    • 2020-01-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-16
    • 2020-07-06
    • 2017-03-27
    • 2018-11-28
    • 2016-07-20
    • 2020-04-07
    相关资源
    最近更新 更多