Sql 访问查询中的IIF函数,将三个字段相加,并将答案与另一个字段进行比较

Sql 访问查询中的IIF函数,将三个字段相加,并将答案与另一个字段进行比较,sql,iif-function,Sql,Iif Function,我正在使用Windows Access 2010。我尝试在一个表上的查询中使用Expression Builder运行一个IIF函数,要求查询将三个字段添加到一起,并将答案与第四个字段进行比较。如果三个字段的总和等于第四个字段,则返回“Ok”,如果不等于,则返回“Err” 这是我正在使用的表达式: SalmonRelSum: IIf([SalmonRelUM]+[SalmonRelAd]+ [SalmonRelUK]=SalmonReleasedCount],

我正在使用Windows Access 2010。我尝试在一个表上的查询中使用Expression Builder运行一个IIF函数,要求查询将三个字段添加到一起,并将答案与第四个字段进行比较。如果三个字段的总和等于第四个字段,则返回“Ok”,如果不等于,则返回“Err”

这是我正在使用的表达式:

SalmonRelSum: IIf([SalmonRelUM]+[SalmonRelAd]+
                  [SalmonRelUK]=SalmonReleasedCount],"Ok","Err")
当我运行查询时,无论它是否正确,我在所有行上都会出错


我做错了什么?

假设你的意思是:

IIf([SalmonRelUM]+[SalmonRelAd]+[SalmonRelUK]=[SalmonReleasedCount],"Ok","Err")
--------------------------------^
问题可能是
NULL
值。您可以使用
NZ()
函数将它们视为零:

IIf(NZ([SalmonRelUM], 0) + NZ([SalmonRelAd], 0) + NZ([SalmonRelUK], 0) =[SalmonReleasedCount], 
    "Ok", "Err"
   )

您在
=SalmonReleasedCount]中缺少
[
请尝试添加它,感谢您捕获它。对于所有数据行,我仍然会出错:(