ACE OLEDB строка SQL в VBA - как обратиться к таблице объектов Excel (ctrl+t, прежний список) в строке SQL

Мой код успешно читает табличные данные из рабочей таблицы с данными, начиная с ячейки A1. Фрагмент моего кода выглядит так:

Myconnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                          "Data Source=" & Myworkbook & ";" & _
                          "Extended Properties=Excel 8.0;" & _
                          "Persist Security Info=False"

    'Build SQL Statement


    strSQL = "SELECT  a as kod, b as wartosc, [Descr] as opis_grupy FROM [TableA$] " & _

Где [TableA$] должен быть рабочим листом "TableA", заполненным данными, начиная с ячейки A1.

Возможно ли это, есть ли синтаксис, который позволил бы мне ссылаться не на данные в рабочей таблице TableA, а на объектную таблицу с именем TableA (в MSExcell 2010 ее можно создать с помощью ctrl+t), ранее известной как list (в MSExcel2003)?

РЕДАКТИРОВАТЬ: до сих пор я преодолеваю проблему с помощью этой функции для создания ссылки на жестко закодированный диапазон от ссылки на таблицу:

Function getAddress()

    myAddress = Replace(Sheets("Sheet1").Range("Table1").address, "$", "")
    myAddress = "[Sheet1$" & myAddress & "]"

    getAddress = myAddress

End Function

0 ответов

Другие вопросы по тегам