表单页脚上的SUM()导致#Error

时间:2009-09-02 18:25:13

标签: ms-access ms-access-2007

我正在尝试在表单页脚的文本框中显示字段的总和。该字段不以任何方式计算。

以下是我尝试过的几件事:

=Sum([txtWeldInches])
=Sum([WeldInches])
=Sum(CDbl([txtWeldInches]))
=Sum(CDbl([WeldInches]))

......你明白了。我使用的每次迭代都会在文本框中显示#Error无异常。

我在同一个项目中使用了不同形式的类似构造,所以我不确定问题可能是什么。

有没有人遇到过这个?

编辑: 我最后编写了一个VBA例程来更新框,因为它们很可能会被更改而不是试图让一个绑定的sum()函数起作用。

5 个答案:

答案 0 :(得分:5)

http://support.microsoft.com/kb/199355

所有域功能都基于相同的查询(通过基础记录集)。如果表单上的某个绑定函数有绑定错误,则表单上的所有函数都将返回错误。

换句话说,确保所有页脚控件都正确解析而不是击中任何空值。

如果您使用SUMAVG,请确保您还使用Nz功能:

ControlSource = =SUM(NZ([FIELD],0))

答案 1 :(得分:2)

此表单的数据源中是否存在“WeldInches”字段?
“WeldInches”字段的数据类型是什么?

编辑:我看了你所有的评论。如果它不能通过数据绑定工作,请尝试使用无限制的方式。在运行时,使用DSUM获取WeldInches的值,并在表单加载时设置页脚文本框的值。

另外,请记住在您认为SUM可能发生变化的地方更新它。

答案 2 :(得分:1)

您希望按记录来源中列的名称求和:SUM([WeldInches])

确保没有其他名称为WeldInches的文本框。

答案 3 :(得分:1)

我知道你说过" Form"但对于那些在Access"报告"中存在Sum公式问题的人;公式必须在报表页脚而不是页脚。我花了一些时间来弄清楚,因为Access默认只显示页脚。

答案 4 :(得分:0)

我和Rister有同样的问题。 表单的来源是基础查询。 我在这个表单上有一个名为txtQty的绑定文本框。它的控制源是Qty(基于表单的基础查询)。 我创建了一个未绑定的文本框并输入=SUM([txtQty])并收到错误消息。 我尝试了各种方法来寻找解决方案并且非常绝望。 然后我删除了基础查询,并使用与以前相同的名称和字段创建了一个新查询。 然后我将=SUM([Qty])输入到表单上的未绑定文本框中,然后就可以了。请注意,我没有在表达式中输入绑定文本框的名称(txtQty),而是输入控制源(Qty)。我不知道为什么,但它对我有用。