Введите значение параметра, но я уже включил его в запрос - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть запрос SQL в моем проекте VB6, который выполняет трехстороннюю INNER JOIN в базе данных Ms-Access.

Запрос VB6:

SQL = "SELECT popsLines.stockCode, popsLines.orderNumber, popsOrders.dateOrdered, popsReceipts.dateReceived, popsReceipts.reference" & _
            " FROM (popsOrders INNER JOIN popsLines ON popsOrders.orderNumber = popsLines.orderNumber)" & _
            " INNER JOIN popsReceipts ON popsOrders.orderNumber = popsReceipts.orderNumber" & _
            " WHERE (([WHERE popsLines].[stockCode]=" & sqlString(m_sStockCode) & "));"

Это не сработало, вернулось сообщение о том, что

Не указано значение для одного или нескольких обязательных параметров

Затем я скопировал значение в переменную SQL и вставил его в запрос Access со значением параметра m_sStockCode.

SELECT popsLines.stockCode, popsLines.orderNumber, popsOrders.dateOrdered, popsReceipts.dateReceived, popsReceipts.reference 
FROM (popsOrders INNER JOIN popsLines ON popsOrders.orderNumber = popsLines.orderNumber)
INNER JOIN popsReceipts ON popsOrders.orderNumber = popsReceipts.orderNumber WHERE (([WHERE popsLines].[stockCode]="010010003"));

При выполнении этого он сказал

Введите значение параметра: WHERE popsLines.StockCode

Почему он не принимает запрос как есть?

Я также пытался изменить там WHERE предложение на

(( WHERE [popsLines].[stockCode]="010010003"));

но получил

Синтаксическая ошибка (отсутствует оператор) в выражении запроса '((WHERE [popsLines]. [StockCode] = "010010003"))'

1 Ответ

0 голосов
/ 05 ноября 2018

Последняя часть - ваше предложение WHERE - искажена. Следует читать:

.. WHERE ([popsLines].[stockCode]='010010003');
...