SUM()导致#Error

问题描述 投票:0回答:6

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

以下是我尝试过的一些方法:

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

...好吧,你明白了。我使用的每次迭代都会在文本框中显示#Error,无一例外。

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

有没有人遇到过这个?

编辑: 我最终编写了一个 VBA 例程来更新可能会更改的框,而不是尝试让绑定的 sum() 函数工作。

ms-access ms-access-2007
6个回答
6
投票

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

所有领域功能都基于相同的查询(通过底层记录集)。如果窗体上的绑定函数之一出现绑定错误,则窗体上的所有函数都将返回错误。

换句话说,确保您所有的页脚控件都正确解析并且没有碰到任何空值。

如果您使用

SUM
AVG
然后确保您也使用
Nz
功能:

控制源 =

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


2
投票

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

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

另外,记得在你认为 SUM 可能改变的地方更新它。


2
投票

我和里斯特有同样的问题。 表单的来源是一个基础查询。 我在这个表格上有一个名为

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


1
投票

我知道你说的是“表格”,但对于那些对 Access“报告”中的总和公式有疑问的人来说,公式必须在报告页脚而不是页面页脚中。我花了一段时间才弄明白,因为 Access 默认只显示页脚。


1
投票

您想按记录源中列的名称求和:

SUM([WeldInches])

确保没有其他名称为

WeldInches
.

的文本框

0
投票

Sum() 公式在从详细信息部分复制到表单页脚的文本框中都不起作用,即使使用最简单的表达式,如:

=总和([小时])

在表单页脚中使用 Sum() 公式的文本框必须从“表单设计”菜单单独添加到表单页脚,而不是从“详细信息”部分复制并修改为包含 Sum() 公式。这是 Microsoft Access 的错误。我的文件/帐户菜单中的版本是“版本 2108(内部版本 14326.21018 即点即用)”。

© www.soinside.com 2019 - 2024. All rights reserved.