У меня есть запрос 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"))'