VBA автоматизирует Power Query на основе значений ячеек - PullRequest
0 голосов
/ 07 июня 2019

У меня есть вопрос о VBA в основном в этом. Я записал макрос при создании соединения запроса к серверу SQL.

В моем Листе (Sheet1) я перечислил пару значений, которые сообщают имя SQL Server, базу данных, имя таблицы и значение года (равное 2019).

Он работает почти отлично, но у меня возникают некоторые проблемы с кодировкой исходного кода. Смотрите ниже:

    Sub Macro1()
Dim sht As Worksheet
Set sht = Sheets("Sheet1")
Dim SQLSRV, DBase, YValue, Table As String

SQLSRV = sht.Range("B:B").Find("SQL Server").Offset(0, 1).Value
DBase = sht.Range("B:B").Find("Database").Offset(0, 1).Value
YValue = sht.Range("B:B").Find("Year").Offset(0, 1).Value
Table = sht.Range("B:B").Find("Acccount").Offset(0, 1).Value


    ActiveWorkbook.Queries.Add Name:="VAT Sales", Formula:= _
        "let" & Chr(13) & "" & Chr(10) & "    Source = Sql.Database(" & SQLSRV & ", " & DBase & ", [Query=""select [Posting Date]#(lf)" & _
        "" & "        ,[G_L Account No_]#(lf)        ,[Document No_]#(lf)        ,[Description]#(lf)        ,[Amount]#(lf)        ,[VAT Amount]#(lf)" & _
        "" & "        ,[Source Code]#(lf)        ,[VAT Bus_ Posting Group]#(lf)        ,[VAT Prod_ Posting Group]#(lf)        ,[Gen_ Posting Type]#(lf)" & _
        "" & "        ,[External Document No_]#(lf)        ,[Source No_]#(lf)        ,[User ID]#(lf)        ,[Unique Document No_]#(lf)        ,[Open Kvik]#(lf)" & _
        "" & "        ,[Remaining Amount Kvik]#(lf) from [" & DBase & "].[dbo].[" & Table & "$G_L Entry]#(lf)where [Posting Date] >= '01-01-" & YValue & "'""])" & _
        "" & Chr(13) & "" & Chr(10) & "in" & Chr(13) & "" & Chr(10) & "    Source"
    End Sub

Моя проблема возникает в разделе "Source = Sql.Database (" & SQLSRV & "," & DBase & ",…
Чтобы Power Query прочитал это правильно, мне нужно иметь возможность вставлять кавычки в начале и в конце переменной, и при этом иметь возможность передавать значение переменной.

Есть ли какой-то Chr (), о котором я не знаю?

Заранее спасибо:)

1 Ответ

0 голосов
/ 07 июня 2019

Позже я узнал, что Chr (34) делает трюк:)

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