Sql 使用IIF和iError访问2010查询

Sql 使用IIF和iError访问2010查询,sql,iif,Sql,Iif,我试图在Access 2010查询中完成以下操作 Select UNIT, DATE, Sum(IIF(ISERROR(A),NULL,A)) AS DLP_PERCENTAGE From tableA; 在哪里 A = (ACT-BASE)/BASE 我得到一个通用的溢出错误。我错过了一些明显的东西。我试图捕获计算中的错误,如果存在错误,则返回NULL;如果没有错误,则返回结果。我必须在查询中这样做。你知道我忽略了什么吗?检查一下你的数学。这就是导致溢出的原

我试图在Access 2010查询中完成以下操作

Select  
    UNIT, DATE, Sum(IIF(ISERROR(A),NULL,A)) AS DLP_PERCENTAGE  
From  
    tableA;
在哪里

A = (ACT-BASE)/BASE  

我得到一个通用的溢出错误。我错过了一些明显的东西。我试图捕获计算中的错误,如果存在错误,则返回NULL;如果没有错误,则返回结果。我必须在查询中这样做。你知道我忽略了什么吗?

检查一下你的数学。这就是导致溢出的原因。这种类型的错误可能无法恢复,因此iff无法工作。我不认为IsError()用于捕获错误。我相信它会检查错误代码。我必须这样做,将((ACT-BASE)/IIF(BASE=0,1,BASE))和为DLP_百分比
SUM((ACT-BASE)/IIF(BASE=0, Null, BASE)) AS DLP_PERCENTAGE