如何在查询中利用借贷交易计算累计总额?
借贷交易累计总额查询解决方案
核心逻辑:要计算累计余额,需对当前记录及之前所有交易的收支差额做累加,Access 查询中可通过
DSum函数结合交易顺序字段(如交易ID、交易日期)实现。可用公式示例:
假设你的数据源有唯一排序标识(比如TransactionID),累计余额字段可这样写:RunningBalance: DSum("Nz([Credit],0)-Nz([Debit],0)", "你的表/查询名称", "[TransactionID] <= " & [TransactionID])若用交易日期排序且存在重复日期,建议补充唯一ID确保顺序准确:
RunningBalance: DSum("Nz([Credit],0)-Nz([Debit],0)", "你的表/查询名称", "[TransactionDate] <= #" & [TransactionDate] & "# AND [TransactionID] <= " & [TransactionID])关键注意点:
- 必须有能明确交易先后顺序的字段(ID或日期+ID),否则累计结果会混乱
- 公式中的数据源名称要和实际表/查询名完全一致
- 字段名需匹配数据源中的字段,避免拼写错误
排查失败原因:
- 之前用
DSum可能是条件范围写错,没限定“当前及之前记录”,只计算了单笔收支差 - 直接用
Sum属于全局聚合,无法按交易顺序生成累计值
- 之前用
内容的提问来源于stack exchange,提问作者rebel102285
相关产品推荐
相关产品推荐

