以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  计算金额代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92637)

--  作者:feixianzhi
--  发布时间:2016/11/9 10:53:00
--  计算金额代码
\'用进价和数量求收款金额
Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "进价","数量"
        If dr1.IsNull("进价") OrElse dr1.IsNull("数量")  Then
            dr1("收款金额") = Nothing
        Else
            dr1("收款金额") = dr1("进价") * dr1("数量")
        End If
End Select


以上代码能实现,收款金额=进价*数量。
我在表中又加了一个“款项类型",分收款、预付、返款,同时又加了预付金额、返款金额这两列。我想实现:当款项类型为收款时,收款金额=进价*数量,这时预付金额和返款金额列为空。当款项类型为返款时,返款金额=进价*数量,这时收款金额和预付金额列为空。同理当款项类型为预付时一样。请各位老师帮忙。


--  作者:feixianzhi
--  发布时间:2016/11/9 10:59:00
--  
请有点蓝老师帮忙呀。
--  作者:有点蓝
--  发布时间:2016/11/9 11:39:00
--  
Dim dr1 As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "进价","数量","款项类型"
        If dr1.IsNull("进价") OrElse dr1.IsNull("数量") OrElse dr1.IsNull("款项类型") Then
            dr1("收款金额") = Nothing
            dr1("返款金额") = Nothing
            
        Else
            If dr1("款项类型") = "收款"
                dr1("收款金额") = dr1("进价") * dr1("数量")
                dr1("返款金额") = Nothing
            Else
                dr1("返款金额") = dr1("进价") * dr1("数量")
                dr1("收款金额") = Nothing
            End If
        End If
End Select

--  作者:feixianzhi
--  发布时间:2016/11/9 13:34:00
--  
非常感谢有点蓝老师。