输入参数值

Enter parameter value

我正在使用 MS Access 2007。我有一个名为 qryUPDATESTOCKS 的查询,它根据 table 订单的数量减少 table 产品的库存。

查询: UPDATE tblPRODUCTS SET tblPRODUCTS.Stock = tblPRODUCTS.Stock-tblORDER.Quantity WHERE tblORDER.ProductID=tblPRODUCTS.ProductID;

为了 运行 保存订单时的这个查询,我在我的保存按钮中添加了一个操作 OpenQuery,运行 是查询。

但是当我点击保存订单按钮时​​,会出现一个对话框说"Enter Parameter Value"。如何防止它弹出?

您需要 运行 VBA 中的操作查询,例如

Private Sub orderSaveButtonName_Click()
    Dim totAvailable As Long

    totAvailable = Nz(DSum("Stock", "tblPRODUCTS", "tblPRODUCTS.ProductID = '" & _
                            Me.ProductID & "'"), 0)

    CurrentDB.Execute "UPDATE tblProducts SET Stock = " & totAvailable - Me.Quantity & _
                      " WHERE tblPRODUCTS.ProductID = '" & Me.ProductID & "'"
End Sub

或者如果要在Query里做,需要传递order Number,用一个SubQuery来获取要带走的商品数量。这可能很复杂,使用 VBA 是直接的解决方案。