فکر کنم اونچه که مورد نظر شما از "مانده نیاز" هست در واقع همون Target Quantityباشه.
1.png
2.png
Private Sub Calc()
Dim RSi As Recordset
Set RSi = CurrentDb.OpenRecordset("SELECT * FROM Inventory")
Dim RSt As Recordset
Dim Qty As Long
Dim QtySum As Long
Do While Not RSi.EOF
Qty = RSi!Quantity
QtySum = 0
Set RSt = CurrentDb.OpenRecordset("SELECT * FROM Transactions WHERE ItemID=" + CStr(RSi!ItemID) + " ORDER BY PDate")
Do While Not RSt.EOF
RSt.Edit
RSt!AvailableQuantity = Qty - QtySum
RSt!Rest = RSt!AvailableQuantity - RSt!Quantity
If RSt!AvailableQuantity > RSt!Quantity Then
RSt!TargetQuantity = 0
QtySum = QtySum + RSt!Quantity
Else
QtySum = 0
Qty = 0
RSt!TargetQuantity = Abs(RSt!Rest)
End If
RSt.Update
RSt.MoveNext
Loop
RSi.MoveNext
Loop
RSt.Close
Set RSt = Nothing
RSi.Close
Set RSi = Nothing
End Sub