Access中的While循环VBA有问题

问题描述

我对如何使此循环起作用感到困惑。用户扫描用于维修的零件,应该为每个PartNum拥有一个OrderID,然后使用SerialNum来排序该维修中全部使用了哪些零件。它将正确减少按下按钮时选择的记录的库存数量,但不会减少针对该SerialNum的其余OrderID的库存。

包括一个图像可能更有意义,现在按下按钮只会减少Test1,而不会减少其他。 https://imgur.com/a/CRoUGgD

真的很感谢任何输入,我对此深感困惑。谢谢。

    Option Compare Database
    
    Private Sub ChangeInventory(PartNum As String,Qty As Long)
    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT * From PartsT where PartNum='" & Forms!CustomerXPartF!PartNum & "'")
    rs.Edit
    rs!InventoryQty = rs!InventoryQty + Qty
    rs.Update
    rs.Close
    db.Close
    Set rs = nothing
    Set db = nothing
    End Sub

Private Function AdjustInventory() As Boolean

Dim CurrentProductQty As Long

Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * From CustomerXPartT where OrderID =" & OrderID)
While Not rs.EOF
    CurrentProductQty = Nz(DLookup("InventoryQty","PartsT","PartNum='" & rs!PartNum & "'"))
    ChangeInventory rs!PartNum,rs!Qty * -1
    rs.MoveNext
Wend
    rs.Close
    db.Close
    Set rs = nothing
    Set db = nothing
End Function

Private Sub Command8_Click()
    AdjustInventory
End Sub

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)