Я использую ниже команду VBA для извлечения данных с использованием SQL-запроса с использованием ссылки на ячейку в качестве фильтра.Использование ссылки на ячейку в SQL-запросе
Public Sub Run()
Dim SQL As String
Dim Connected As Boolean
Dim server_name As String
Dim database_name As String
Dim Allocation As String
Sheets("Perc").Select
Range("A6").Select
Selection.CurrentRegion.Select
Selection.ClearContents
' Our query
SQL = "SELECT Segmentation_ID,MPG,SUM(Segmentation_Percent) AS PERC " & _
"FROM dbo.HFM_ALLOCATION_RATIO " & _
"WHERE Segmentation_ID = " & Sheets("Perc").Range("A1").Value & " " & _
"GROUP BY Segmentation_ID,MPG ORDER BY MPG"
' Connect to the database
server_name = Sheets("General").Range("D1").Value
database_name = Sheets("General").Range("G1").Value
Connected = Connect(server_name, database_name)
If Connected Then
' If connected run query and disconnect
Call Query(SQL)
Call Disconnect
Else
' Couldn't connect
MsgBox "Could Not Connect!"
End If
End Sub
Но когда я запускаю макрос, он показывает ошибку времени выполнения
Invalid имя столбца ALO0000274
Здесь ALO0000274
является фильтр я поставил в A1
.
Просьба помочь устранить эту ошибку.
Спасибо, что пропустили одинарные кавычки в моем фильтре ... Я установил кавычки, и я получаю результат ... –
Обратите внимание, что эти одинарные кавычки aren ' t необходимо для числовых значений ... –
@ n8. Пример, представленный в вопросе, - это строка, поэтому нужны цитаты * * ... конечно, вы можете проверить, является ли значение строкой или числом в коде, и включать/исключать кавычки, если необходимо – Barranka