Вот что в этой строке установлено для строки formula
:
ActiveWorkbook.Queries.Add Name:=queryName, formula:=<string here>
после того, как все chr()
и конкатенация выполнены:
let
Source = Odbc.Query("dsn=my-server-name", "<code>")
in
Source
Этот токен<code>
заменяется тем, что находится в вашей переменной code
.Поэтому я подозреваю, что вы правы в том, что в этой формуле необходимо полностью экранировать двойные кавычки.
Другими словами, эта строка, которую вы строите, форма Formula
будет оцениваться как сам код, и даже вэта оценка будет передавать больше кода (ваш SQL) на сервер Teradata для оценки там.
Вы находитесь в начале кода.Написание VBA-кода PowerQuery-написание кода Teradata.
Понимая это и немного догадываясь, я думаю, что ваша текущая переменная code
выглядит примерно так:
code="SELECT 2 + 2 AS ""Query Result"";"
Ваши двойные кавычкиуже сбежал за VBA.НО, потому что вы должны пережить еще один раунд eval в powerquery, вам нужно бежать еще раз.Вместо этого:
code="SELECT 2 + 2 AS """"Query Result"""";"
* Я думаю ...