以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=196066)

--  作者:苏州老街
--  发布时间:2025/3/26 19:44:00
--  [求助]计算
老师好,黄色标出的得不到计算结果,不知哪个地方错了。

Dim dt1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "一号楼_分表本期","一号楼_分表上期","一号楼_消耗数","一号楼_入住人数","一号楼_分表金额","一号楼_总表金额","单价","每人分摊金额"
        If dt1.IsNull("一号楼_分表本期") OrElse dt1.IsNull("一号楼_分表上期") Then \'如果数量或单价为空
            dt1("一号楼_消耗数") = Nothing
            dt1("一号楼_分表金额") = Nothing
            dt1("一号楼_总表金额") = Nothing
            dt1("一号楼_累计缴费") = Nothing
        Else
            dt1("一号楼_消耗数") = dt1("一号楼_分表本期") - dt1("一号楼_分表上期")
            dt1("一号楼_分表金额") = dt1("一号楼_消耗数") * dt1("单价")
            dt1("一号楼_总表金额") = dt1("一号楼_入住人数") * dt1("每人分摊金额")
            dt1("一号楼_累计缴费") = dt1("一号楼_分表金额") + dt1("一号楼_总表金额")
        End If
End Select

--  作者:pyh6918
--  发布时间:2025/3/26 20:40:00
--  
查看总表金额,入住人数,每人分摊金额列类型,入住人数,每人分摊金额是否有数据。

--  作者:有点蓝
--  发布时间:2025/3/27 8:47:00
--  
改分开处理就要分开处理,不是所有代码硬挤到一起

Dim dt1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "一号楼_分表本期", "一号楼_分表上期"
        If dt1.IsNull("一号楼_分表本期") OrElse dt1.IsNull("一号楼_分表上期") Then 
            dt1("一号楼_消耗数") = Nothing
        Else
            dt1("一号楼_消耗数") = dt1("一号楼_分表本期") - dt1("一号楼_分表上期")

        End If
    Case "一号楼_消耗数", "单价"
        dt1("一号楼_分表金额") = dt1("一号楼_消耗数") * dt1("单价")
    Case "一号楼_入住人数", "每人分摊金额"
        dt1("一号楼_总表金额") = dt1("一号楼_入住人数") * dt1("每人分摊金额")
    Case "一号楼_分表金额", "一号楼_总表金额"
        dt1("一号楼_累计缴费") = dt1("一号楼_分表金额") + dt1("一号楼_总表金额")
End Select