首页 > 解决方案 > 访问 VBA:表达式生成器:SUMIF 语法无效

问题描述

我正在尝试在表中添加一个计算字段[Progetti]。在这个领域,我想从表[Fatture]中获得一个 SUMIF Fatture![Codice Progetto] = Progetti![Codice Progetto]

为此,在表达式生成器中,我编写了以下表达式,但语法似乎不正确。

=DSum("Fatture![Fattura]","[Fatture]","Fatture![Codice Progetto] = Progetti![Codice Progetto]")

这让我想知道:在表中应用 SUMIF 是一种好习惯,还是应该使用查询?我不想使用查询,因为还有其他字段必须是可编辑的,我不想在任何时候从表切换到查询。

在此处输入图像描述 在此处输入图像描述

标签: ms-accessvba

解决方案


您无法在计算字段中应用您想要的内容,因为您的表达式的结果是整个表格的一个数字。但计算字段应用于每一行。

你需要的是一个查询

SELECT Sum(Fatture) As SumFatture FROM Progetti WHERE [Codice Progetto] = [Codice Progetto]

推荐阅读