Спасибо за вашу помощь, @FreeMan.
Тем не менее, я все еще потерян с этим.
Позвольте мне начать с нуля.
Это мой запрос в итоге (надеюсь, это понятно)
SELECT DISTINCT Q1,Q2,Q3
from(SELECT A,B,C) Q1
full outer join
(SELECT A,B,C
from tblA as a
join tblB as b
on a.aID = b.bID
join tblC as c
on b.bID = c.cID
where (a,b, cdate <= ?
group by c) Q2
ON Q1.A = Q2.B
WHERE Convert(DATETIME, Q1.[B], 103) <= ?
order by Q1.[A]
When I try to refresh my table, I get the following error message
"[Microsoft][ODBC SQL Server Driver]Invalid Parameter number" and then
"[Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index"
Мне нужен метод, который позволит мне выполнить этот запрос, используя параметры в указанной ячейке, то есть ячейке C3.
Надеюсь, это прояснит ситуацию. Я не знаком с VBA, поэтому все приведенные выше команды меня смущают.
Оригинальный вопрос
* [Я новичок, когда дело доходит до VBA, и поэтому я изо всех сил стараюсь, чтобы мой запрос выполнялся с более чем одним параметром. Я использую этот макрос, но когда я запускаю его, он говорит мне, что второй параметр не был предоставлен.
Sub RefreshQuery()
With ActiveWorkbook.Connections("MYSERVER").OLEDBConnection
.CommandText = "EXECUTE dbo.Tng_Market_Feed '" & Range("B2").Value & "'"
End With
ActiveWorkbook.Connections("MYSERVER").Refresh
End Sub
Мои вопросы:- 1. Как мне установить переменные в формат даты? Мне нужен отчет, чтобы показать все транзакции <= определенная дата (переменный параметр)2. Расположение переменной в электронной таблице, ячейка b2, остается одинаковым для обоих параметров. Например, мне нужен список всех транзакций <= 31/12/2014 и значение / сумма резерва по сомнительным долгам на ту же дату 31.12.2014.]*