以文本方式查看主题

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

--  作者:douglas738888
--  发布时间:2016/11/4 14:21:00
--  计算代码问题

请教老师,下面代码部分能计算,黄色部分有时计算有时不会计算,大部分时间不会计算,是哪里写错了

 

我还加了强制刷新 Tables("合同副表").Refresh,也不行

 

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同金额","收款金额","收付类别"
        If e.DataRow("收付类别") = "付款合同" Then
        dr("应收未收") = dr("收款金额") * 0
        Else
        dr("应收未收") = dr("收款金额")-dr("合同金额")
    End If
        Case "合同金额","收款金额","付款金额"
        dr("收款进度") = dr("收款金额") / dr("合同金额") 
        dr("付款进度") = dr("付款金额") / dr("合同金额")
    End If
End Select

[此贴子已经被作者于2016/11/4 14:23:58编辑过]

--  作者:有点青
--  发布时间:2016/11/4 14:27:00
--  

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同金额","收款金额","收付类别"
        If e.DataRow("收付类别") = "付款合同" Then
            dr("应收未收") = dr("收款金额") * 0
        Else
            dr("应收未收") = dr("收款金额")-dr("合同金额")
        End If
End Select
Select Case e.DataCol.Name
    Case "合同金额","收款金额","付款金额"
        dr("收款进度") = dr("收款金额") / dr("合同金额")
        dr("付款进度") = dr("付款金额") / dr("合同金额")
End Select

 

或者

 

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "合同金额","收款金额","收付类别"
        If e.DataRow("收付类别") = "付款合同" Then
            dr("应收未收") = dr("收款金额") * 0
        Else
            dr("应收未收") = dr("收款金额")-dr("合同金额")
        End If
        dr("收款进度") = dr("收款金额") / dr("合同金额")
        dr("付款进度") = dr("付款金额") / dr("合同金额")
End Select