ifnull(sum(A.tczc),0)+ifnull(sum(B.tczc),0)?

解决方案 »

  1.   


    你说的是isnull()函数吧?如果在纯Access中可以使用nz()函数,类似SQL Serer的isnull()函数。如果在ADO访问Access的SQL串用,用iif(isnull(表达式),值1,值2)来实现。
      

  2.   

    select If IsNull(sum(A.tczc)) Then 0 Else sum(A.tczc) Endif +
    If IsNull(sum(B.tczc)) Then 0 Else sum(B.tczc) Endif
    这样不行
      

  3.   

    不是if,是iifIIf 函数
          根据表达式的值,来返回两部分中的其中一个。语法IIf(expr, truepart, falsepart)IIf 函数的语法含有下面这些命名参数:部分 描述 
    expr 必要参数。用来判断真伪的表达式。 
    truepart 必要参数。如果 expr 为 True,则返回这部分的值或表达式。 
    falsepart 必要参数。如果 expr 为 False,则返回这部分的值或表达式。 说明由于 IIf 会计算 truepart 和 falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果 falsepart 产生一个被零除错误,那么程序就会发生错误,即使 expr 为 True。
    IIf 函数示例
    本示例使用 IIf 函数来判断 CheckIt 过程之 TestMe 参数的值,如果参数值大于 1000 则传回“Large”;否则传回“小图标”。Function CheckIt (TestMe As Integer)
        CheckIt = IIf(TestMe > 1000, "Large", "Small")
    End Function