以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  聚合函数值为空时的处理  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176880)

--  作者:cd_tdh
--  发布时间:2022/4/29 15:04:00
--  聚合函数值为空时的处理

老师,通过聚合函数,得到Values("结算金额")为空时,增加 结算金额 会报错,怎么处理呢?我用IIF函数判断也无效

        With wb.AddListGroup("form1", "项目合同结算情况", "项目合同结算情况")   \'ParentID 父容器的ID,如果是顶层对象,设置为""即可. ID 分组ID. Text 可选参数,用于指定分组标题.
        .Add("合同金额","合同金额",Format(Values("合同金额"),"0.00"))   \'Add(ID, Text) Add(ID, Text, Description) Add(ID, Text, Description, Href) Add(ID, Text, Description, Href, Image)
        .Add("结算金额","结算金额",Values("结算金额"))
        End With

 


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20220429150317.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/4/29 15:04:38编辑过]

--  作者:有点蓝
--  发布时间:2022/4/29 15:10:00
--  
Values怎么来的?
--  作者:cd_tdh
--  发布时间:2022/4/29 15:15:00
--  
cmd.C ommandText = "S  elect Avg(合同金额) As 合同金额, Avg(结算金额) As 结算金额, Sum(公司开票金额) As 公司开票金额, Sum(到账金额) As 到账金额 from {工程款台账管理} where 项目名称 = \'" & _Userxmmc & "\'"
Dim Values = cmd.ExecuteValues

--  作者:有点蓝
--  发布时间:2022/4/29 15:30:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=149707
--  作者:cd_tdh
--  发布时间:2022/4/29 15:47:00
--  

在请教一下老师,这种怎么处理?

        .Add("未拨款金额","未拨款金额",IIF(Values("结算金额").ToString = Nothing,Format(Values("合同金额") - Values("到账金额"),"0.00"),Format(Values("结算金额") - Values("到账金额"),"0.00")))


--  作者:有点蓝
--  发布时间:2022/4/29 15:47:00
--  
使用if else ,不要使用iif