输入参数值

时间:2015-03-10 15:51:58

标签: ms-access

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

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

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

但是当我点击保存订单按钮时​​,会出现一个对话框,显示“输入参数值”。如何防止它弹出?

1 个答案:

答案 0 :(得分:0)

您需要在VBA中运行Action Query,例如

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中执行此操作,则需要传递订单号并使用SubQuery来获取要带走的项目数。这可能很复杂,使用VBA是直接的解决方案。