У меня есть вопрос о 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 (), о котором я не знаю?
Заранее спасибо:)