首页 > 解决方案 > 访问:DSUM 行为怪异

问题描述

我正在尝试使用 access 2010 查询计算运行总和,DSUM 函数数据为:
表 cumulvsce_2
COquille / Date /1ere apparition
0 / 07/03/2018 / 1
0 / 16/03/2018 / 1
0 / 19/ 03/2018 / 1
0 / 22/03/2018 / 1
0 / 28/03/2018 / 0
0 / 29/03/2018 / 1
0 / 30/03/2018 / 0
0 / 31/03/2018 / 0

目标是计算每个日期的“1ere application”的运行总和

查询是:

  SELECT CumulVSCE_2.COQUILLE, CumulVSCE_2.Date, CumulVSCE_2.[1ere apparition], DSum([cumulvsce_2]![1ere apparition],"CumulVSCE_2","[date]<=" & [date]) AS Expr1 INTO CumulVSCE_3b
    FROM CumulVSCE_2
    GROUP BY CumulVSCE_2.COQUILLE, CumulVSCE_2.Date, CumulVSCE_2.[1ere apparition];

结果是:
COQUILLE / Date / 1ere apparition / Expr1
0 / 07/03/2018 /1 /1
0 /16/03/2018 /1 /2
0 /19/03/2018 /1 /3
0 /22/03/ 2018 /1 /4
0 /28/03/2018 /0 /0
0 /29/03/2018 /1 /6
0 /30/03/2018 /0 /0
0 /31/03/2018 /0 /0

这很奇怪,因为 28/10/2018 的值应该是 4 (1+1+1+1+0) 而 39、30 和 31/3 的值应该是 5 (1+1+1+1+0+1 ; 1+1+1+1+0+1+0;1+1+1+1+0+1;+0+0)

知道公式有什么问题吗?

DSum([cumulvsce_2]![1ere apparition],"CumulVSCE_2","[date]<=" & [date])

标签: ms-access-2010

解决方案


尝试使用正确且强制的日期值格式:

DSum("[1ere apparition]","CumulVSCE_2","[date] <= #" & Format([date], "yyyy\/mm\/dd") & "#")

推荐阅读