微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Access中的While循环VBA有问题

如何解决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 举报,一经查实,本站将立刻删除。