以文本方式查看主题

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

--  作者:江南小镇
--  发布时间:2017/9/18 21:21:00
--  [求助]计算
老师,下面设置的代码有问题吗?另外:如果运输_金额列为空时跳过该列并继续计算。希望"合计金额"列不为空

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "入库_数量","入库_单价","入库_税率","入库_价税合计"                           \'"入库_价税合计"
        If dr.IsNull("入库_数量") OrElse dr.IsNull("入库_单价") Then \'如果数量或单价为空
            dr("入库_金额") = Nothing
            dr("入库_税金") = Nothing
            dr("入库_价税合计") = Nothing
        Else
            dr("入库_金额") = dr("入库_数量") * dr("入库_单价") / dr("入库_税率")
            dr("入库_税金") = dr("入库_数量") * dr("入库_单价") - dr("入库_金额")
            dr("入库_价税合计") = dr("入库_数量") * dr("入库_单价")
        End If       
    Case "入库_价税合计","运输_金额"
        If dr.IsNull("运输_金额") OrElse dr.IsNull("入库_价税合计") Then \'如果数量或单价为空
           dr("合计金额") = Nothing
        Else
            dr("合计金额") = dr("运输_金额") + dr("入库_价税合计")           
        End If       
End Select

--  作者:有点蓝
--  发布时间:2017/9/18 21:23:00
--  
Case "入库_价税合计","运输_金额"
     dr("合计金额") = dr("运输_金额") + dr("入库_价税合计")           
End If 

--  作者:江南小镇
--  发布时间:2017/9/18 22:04:00
--  
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "入库_数量","入库_单价","入库_税率","入库_价税合计"                           \'"入库_价税合计"
        If dr.IsNull("入库_数量") OrElse dr.IsNull("入库_单价") Then \'如果数量或单价为空
            dr("入库_金额") = Nothing
            dr("入库_税金") = Nothing
            dr("入库_价税合计") = Nothing
        Else
            dr("入库_金额") = dr("入库_数量") * dr("入库_单价") / dr("入库_税率")
            dr("入库_税金") = dr("入库_数量") * dr("入库_单价") - dr("入库_金额")
            dr("入库_价税合计") = dr("入库_数量") * dr("入库_单价")
        End If
        dr("合计金额") = dr("运输_金额") + dr("入库_价税合计")
End Select

老师,如果”运输_金额”重新加入数据"合计金额"列不重算。

--  作者:有点蓝
--  发布时间:2017/9/18 22:22:00
--  
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "入库_数量","入库_单价","入库_税率","入库_价税合计"                           \'"入库_价税合计"
        If dr.IsNull("入库_数量") OrElse dr.IsNull("入库_单价") Then \'如果数量或单价为空
            dr("入库_金额") = Nothing
            dr("入库_税金") = Nothing
            dr("入库_价税合计") = Nothing
        Else
            dr("入库_金额") = dr("入库_数量") * dr("入库_单价") / dr("入库_税率")
            dr("入库_税金") = dr("入库_数量") * dr("入库_单价") - dr("入库_金额")
            dr("入库_价税合计") = dr("入库_数量") * dr("入库_单价")
        End If
End Select
Select Case e.DataCol.Name
    Case "入库_价税合计","运输_金额"
        dr("合计金额") = dr("运输_金额") + dr("入库_价税合计")
End Select