Как мне ссылаться на Sheet.Column в VBA SQL - PullRequest
0 голосов
/ 01 ноября 2018

Я создал этот базовый сценарий VBA, чтобы понять, как ссылаться на столбец из созданного листа. В этом случае я хочу иметь возможность ссылаться на столбец числа листа 1 в моем запросе sql. Я приложил полный код, который я сделал, чтобы проверить это. Конечно, ws1.number не работает как поле. Есть ли правильный способ выбрать этот столбец из ws1?

код

sql = "Select ws1.number " & _
      "from " & ws1 & " as ws1"  

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Чтобы ссылаться на столбцы по номерам, вам нужно установить для заголовков столбцов значение false в строке подключения: HDR=NO. Затем на столбцы можно ссылаться F для поля и номера, заключенного в квадратные скобки.

"SELECT ws1.[F1], ws1.[F2] FROM [" & Worksheets(1).Name & "$] AS ws1"

«AS ws1» создает псевдоним таблицы; упростить код.

0 голосов
/ 01 ноября 2018

В тексте SQL вы можете ссылаться на имя листа, за которым следует $ в квадратных скобках, как если бы это была таблица. Если вы напишите слово «Число» в ячейку, то каждая непрерывная строка под этим заголовком будет выделена следующим образом:

sql = "Select Number" & _
      "FROM [" & ws1.name & "$] as ws1" 

Обратите внимание, что если у вас было несколько ячеек с текстом «Число», это будет первый экземпляр такой ячейки с поиском слева направо / сверху направо / снизу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...