DSum返回行数而不是总值

时间:2011-05-27 21:38:01

标签: ms-access ms-access-2007 ms-access-2003

我将以下代码附加到表单中的文本框中:

=DSum("[subform].Form![POINTS]","ATTENDANCE","[subform].Form![EMPLOYEE NO] = [EMPLOYEE NO]")

理想情况下,这将产生我们当前搜索的员工累积的总积分。但是,我得到的是我表中的总行数。

有没有人知道如何获得值的总和而不是行数?

由于

2 个答案:

答案 0 :(得分:1)

如果您希望从子表单中获取总计,并且您的子表单与主表单同步,则以这种方式执行会更有效:

  1. 在子表单的页脚中创建txtTotalPoints文本框= sum(Points)
  2. 从您的主要表单中引用该控件:txtMainResult =subform!form!txtTotalPoints
  3. 隐藏txtTotalPoints(或页脚本身)
  4. 这通常要快得多。

答案 1 :(得分:0)

据我所知,域函数如DSum,DLookup,DCount等用于查找和返回表中的值。第一个参数是字段,第二个参数是表,第三个参数是标准或WHERE语句,用于确保获得正确的记录集。你的第一个参数是指一个表格的字段。我认为这是不正确的。 WHERE语句中的第一个项目也是表单字段。我这也是不正确的。你需要尝试这样的事情:

=DSum("POINTS","ATTENDANCE","[EMPLOYEE NO] = " & [subform].Form![EMPLOYEE NO])