输入参数值,但我已经在查询中包含一个

Enter parameter value but I've already included one in the query

我的 VB6 项目中有一个 SQL 查询,它在 Ms-Access 数据库中执行三向 INNER JOIN

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) & "));"

这没有用,它返回了一个错误

No value given for one or more required parameters

接下来我做的就是复制 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"));

执行这个的时候,它说

Enter Parameter Value: WHERE popsLines.StockCode

为什么它不按原样接受查询?

我也尝试过将 WHERE 子句更改为

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

但是得到了

Syntax error (missing operator) in query expression '((WHERE [popsLines].[stockCode]="010010003"))'

最后一部分 - 您的 WHERE 子句 - 是乱码。它应该是:

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