【问题标题】:Enter parameter value but I've already included one in the query输入参数值,但我已经在查询中包含了一个
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-04-19
    • 2016-04-27
    • 2021-08-18
    • 1970-01-01
    • 2013-02-10
    • 2011-02-13
    • 2021-05-07
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多