Привет У меня возникли проблемы с запросом Excel SQL, где я получаю значения из базы данных SQL на основе значений в моей таблице Excel. поэтому я пишу функцию в Excel, которая поместит все значения в запрос, и SQL-соединение будет запускаться и извлекать данные, соответствующие этому значению. проблема, с которой я сталкиваюсь - это (""), так как SQL не нравится это, и мне нравится 'value', но я изменил его, чтобы сделать его единым '', но функции Excel это не нравится.
вот что я пишу в функции Excel.
="SELECT TOP 1 Name FROM [SERVER].[dbo].[Table] WHERE
" &TS[[#Headers],[Currency]] & " = """&[@Currency] &""""
&
"AND " &TS[[#Headers],[Type]]& " = """&[@Type]&""""
&
"AND " &TS[[#Headers],[Report]]& " = """&[@Report ]&""""
&
"AND " &TS[[#Headers],[Status]]& " = """&[@Status]&""""
&
"AND " &TS[[#Headers],[Target]]& " = """&[@Target]&""""
, который затем превращается в это.
"SELECT TOP 1 NAME FROM [SERVER].[dbo].[TABLE] WHERE
Currency = ""EUR""
AND Type = "" 0"" AND Report = ""9"" AND Status = ""0"" AND Target = ""Reversal"""
вот мой пример таблицы:
Type Report Status Target Currency
0 9 0 Reversal EUR
0 9 0 ACCEPT CHI
0 9 0 NEW EUR
0 9 0 OLD YEN
Моя функция VB:
Function Download_Standard_BOM(Query As String)
'Initializes variables
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim ConnectionString As String
Dim StrQuery As String
ConnectionString = "Driver={SQL Server};Server=STORESYSTEM
;Database=STORE;Trusted_Connection=Yes;"
cnn.Open ConnectionString
StrQuery = Query 'Sheets("Tests Scenario").Range("J2").Offset(i, 0).Value
cnn.CommandTimeout = 100
rst.Open StrQuery, cnn, adOpenStatic, adLockOptimistic
Download_Standard_BOM = rst("NAME")
End Function