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

在MS Access中实现从一张表向另一张表新行复制当前值

MS Access 账单数据自动填充当前费用的解决方案

方法1:利用窗体BeforeInsert事件(最常用简便)

  • 先做一个绑定表2的窗体,用来新增账单记录,加个组合框选表1的客户(关联引用字段)。
  • 打开窗体设计视图,找到BeforeInsert事件,写入以下VBA代码:
    Private Sub Form_BeforeInsert(Cancel As Integer)
        ' 替换成你的实际字段名和表名:表1的客户ID字段、当前费用字段,表2的客户引用字段、账单费用字段
        Me![账单费用] = DLookup("[当前费用]", "表1", "[客户ID] = " & Me![客户ID])
    End Sub
    
  • 每次在窗体里新增记录,选好客户后,系统会自动把当时表1里的当前费用填到表2的费用字段,已有记录的费用完全不受影响。

方法2:追加查询批量生成账单

如果需要批量生成月度账单,用追加查询更高效:

  • 创建新查询,选择表1的客户ID、当前费用,再手动添加账单月份这类固定字段(比如输入当月日期或月份标识)。
  • 把查询类型改成追加查询,目标表选表2,对应好字段:表1的客户ID对应表2的客户引用字段,表1的当前费用对应表2的费用字段,其他字段按需匹配。
  • 运行查询就能批量把当时的当前费用导入到新的表2记录里,不会碰已有数据。

方法3:表2字段设默认值(适合单条新增场景)

如果是单条新增记录,也可以直接给表2的费用字段设默认值:

=DLookup("[当前费用]", "表1", "[客户ID] = Forms![你的窗体名称]![客户ID]")
  • 这个方法依赖打开的窗体,批量操作时不如前两种靠谱,但单条新增时不用写代码,更省事。

内容的提问来源于stack exchange,提问作者grin_phi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:48:21