You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MS-Access 2021:如何用交易表字段更新主库存表库存值

Access库存自动更新解决方案(按交易类型加减)

一、用更新查询批量处理交易记录

如果是批量处理已录入的交易记录,用更新查询最直接:

  1. 创建新的更新查询,添加MasterInventory和InventoryTransactions表,通过物品唯一标识字段(比如ItemID,需确保两个表都有这个字段)建立关联。
  2. 双击MasterInventory.QuantityOnHand字段添加到查询网格,在「更新到」行输入以下表达式:
    IIf([InventoryTransactions].[TransactionType]="Addition", [MasterInventory].[QuantityOnHand]+[InventoryTransactions].[Quantity], [MasterInventory].[QuantityOnHand]-[InventoryTransactions].[Quantity])
    
  3. 可选:为避免重复更新,建议给InventoryTransactions加一个IsProcessed字段(是/否类型),在查询条件行设置IsProcessed=False,处理完后把该字段标记为True。
  4. 点击「视图」→「数据表视图」预览要更新的记录和计算值,确认无误后再运行查询。

二、表单录入时实时更新库存

如果要在录入交易的同时自动更新库存,用表单VBA实现:

  1. 打开InventoryTransactions的表单设计视图,找到「属性表」→「事件」→「更新后」,点击右侧的「...」打开VBA编辑器。
  2. 粘贴以下代码(注意替换成你实际的字段/控件名称):
    Private Sub Form_AfterUpdate()
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim newQty As Long
        
        Set db = CurrentDb()
        ' 打开对应物品的库存记录
        Set rs = db.OpenRecordset("SELECT QuantityOnHand FROM MasterInventory WHERE ItemID = " & Me.ItemID)
        
        If Not rs.EOF Then
            rs.Edit
            ' 根据交易类型计算新库存
            Select Case Me.TransactionType
                Case "Addition"
                    newQty = rs!QuantityOnHand + Me.Quantity
                Case "Removal"
                    newQty = rs!QuantityOnHand - Me.Quantity
                    ' 可选:防止库存出现负数
                    If newQty < 0 Then newQty = 0
            End Select
            rs!QuantityOnHand = newQty
            rs.Update
        End If
        
        ' 清理对象
        rs.Close
        Set rs = Nothing
        Set db = Nothing
        ' 刷新库存表单(如果有显示库存的表单)
        Forms!MasterInventoryForm.Requery ' 替换为你的库存表单名称
    End Sub
    
  3. 保存表单,测试录入:选择交易类型、输入数量、保存记录,查看MasterInventory的QuantityOnHand是否同步更新。

关键注意事项

  • 两个表必须通过唯一物品ID关联,否则无法定位到对应库存记录。
  • 运行更新查询前务必备份数据,避免误操作导致数据丢失。
  • VBA代码中的字段名、控件名要和你的实际表/表单完全一致,比如Me.ItemID是表单上绑定物品ID的控件名称。

内容的提问来源于stack exchange,提问作者Landon.C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 08:45:38