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

Access查询日期值无效:使用DSum函数计算每日累计余额报错

Access查询累计余额时DSum函数“日期值无效”的解决方法

你在Access查询中创建物品每日交易后的累计余额,查询包含日期列、物品列和Bal列,使用DSum函数时反复提示“日期值无效”,原语句为:

DSum("[Bal]","Combined query","[Date]"<=#"& format([Date],"dd/mm/yyyy")&"#")

问题根源

  1. 引号拼接错误:原语句的字符串拼接逻辑混乱,条件部分的引号嵌套不对,导致Access无法正确解析日期条件。
  2. 日期格式兼容性问题:dd/mm/yyyy格式在部分Access环境中可能被误判为月/日/年(比如系统区域设置为美式格式时),引发日期无效报错。
  3. 缺少物品分组条件:原语句没有限定同物品的累计,会把所有物品的Bal汇总,不符合“单个物品每日累计”的需求。

修正方案

方案1:修复DSum语句

调整引号拼接逻辑,改用Access更兼容的yyyy/mm/dd日期格式,同时加上物品匹配条件(假设物品列名为[Item]):

DSum("[Bal]", "Combined query", "[Date] <= #" & Format([Date], "yyyy/mm/dd") & "# AND [Item] = '" & [Item] & "'")

方案2:用子查询替代DSum(更稳定)

DSum在数据量大时性能较差,子查询的逻辑更清晰,稳定性更高:

SELECT 
    t1.[Date], 
    t1.[Item], 
    t1.[Bal],
    (SELECT Sum([Bal]) FROM [Combined query] t2 WHERE t2.[Date] <= t1.[Date] AND t2.[Item] = t1.[Item]) AS 累计余额
FROM [Combined query] t1
ORDER BY t1.[Item], t1.[Date];

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:13:11