【发布时间】:2018-11-05 11:56:55
【问题描述】:
我的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) & "));"
这不起作用,它返回一个错误提示
没有为一个或多个必需参数指定值
接下来我要做的就是复制 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
为什么它不按原样接受查询?
我也尝试过将WHEREclause 更改为
(( WHERE [popsLines].[stockCode]="010010003"));
但是得到了
查询表达式 '((WHERE [popsLines].[stockCode]="010010003"))' 中的语法错误(缺少运算符)
【问题讨论】:
-
where 子句应该是
WHERE (([popsLines].[stockCode]="010010003"))
标签: ms-access select vb6 inner-join