VBA для запуска запроса 500 строк не будет работать - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь написать код VBA, который включает в себя выполнение запроса и вставку результатов в Excel. Я делал это много раз в прошлом, но все с помощью одной строки запросов. Я пытаюсь сделать это с запросом 500 строк, и я получаю ошибки из-за разрывов строк

Я уже пробовал делать разрывы строк и возврат каретки, но я, очевидно, перешагнул максимальный разрыв строки

ранее мой окончательный код был бы похож на

finalquery = " SELECT * from tbl1 with (nolock) where column1 (" & finalresult & ")"

Теперь у меня очень длинный запрос, и я хочу это сделать, и я не знаю, как

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Максимальное количество физических строк VBA логическая строка кода может охватывать;этот максимум составляет около 20, но, вообще говоря, вам следует избегать таких длинных инструкций в коде.

Оператор SQL является строковым литералом и поэтому не может быть легко отлажен или поддержан.

Make параметризованная хранимая процедура на сервере, и вам не нужно ничего объединять.

1 голос
/ 04 июня 2019

Я не уверен, что когда-либо видел такой длинный запрос и думаю, что у вас могут возникнуть проблемы! Но вы могли бы сделать ...

finalquery +"This is the first " & _
            "part of my query "
finalquery = finalquery  & "This is the second " & _
            "part of my query"
finalquery = finalquery  & "This is the third" & _
            "part of my query"

и т.д..

...