以文本方式查看主题

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

--  作者:feixianzhi
--  发布时间:2016/10/31 14:09:00
--  计算合计金额的编码问题
问题如下图,请各位老师帮忙!
图片点击可在新窗口打开查看此主题相关图片如下:求合计金额计算编码问题.png
图片点击可在新窗口打开查看

--  作者:feixianzhi
--  发布时间:2016/10/31 14:39:00
--  
急用,请有点蓝老师帮忙呀。
--  作者:有点蓝
--  发布时间:2016/10/31 15:47:00
--  
Select Case e.DataCol.Name
    Case "名称","年月","编号"
        If e.DataRow.IsNull("名称") OrElse e.DataRow.IsNull("年月") OrElse e.DataRow.IsNull("编号") Then
        Else
            Dim filter As String = "名称=\'" & e.DataRow("名称") & "\' and 年月=\'" & e.DataRow("年月") & "\' and 编号=\'" & e.DataRow("编号") & "\'"
            Dim vl As Double =  e.DataTable.Compute("sum(余额)",filter)
            Dim dr As DataRow = e.DataTable.Find(filter,"[_Identify] desc")
            e.DataTable.ReplaceFor("金额",Nothing,filter)
            If dr IsNot Nothing Then
                dr("金额") = vl
            End If
        End If
End Select

--  作者:feixianzhi
--  发布时间:2016/10/31 16:30:00
--  
非常感谢有点蓝老师。
--  作者:feixianzhi
--  发布时间:2016/10/31 16:56:00
--  
\'计算发票金额
Select Case e.DataCol.Name
    Case "供应名称","会计年月","发票号"
        If e.DataRow.IsNull("供应商名称") OrElse e.DataRow.IsNull("会计年月") OrElse e.DataRow.IsNull("发票号") Then
        Else
            Dim filter As String = "供应商名称=\'" & e.DataRow("供应商名称") & "\' and 会计年月=\'" & e.DataRow("会计年月") & "\' and 发票号=\'" & e.DataRow("发票号") & "\'"
            Dim vl As Double =  e.DataTable.Compute("sum(合计金额)",filter)
            Dim dr As DataRow = e.DataTable.Find(filter,"[_Identify] desc")
            e.DataTable.ReplaceFor("发票金额",Nothing,filter)
            If dr IsNot Nothing Then
                dr("发票金额") = vl
            End If
        End If
End Select


有点蓝老师,我把编码改了一下,但出现如下错误。

--  作者:feixianzhi
--  发布时间:2016/10/31 16:59:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20161031165525.png
图片点击可在新窗口打开查看

--  作者:feixianzhi
--  发布时间:2016/10/31 16:59:00
--  
请有点蓝老师帮忙。
--  作者:有点蓝
--  发布时间:2016/10/31 17:45:00
--  
事件其它代码已经定义了一个dr,改为其它名称,如

Dim dr100 As DataRow = e.DataTable.Find(filter,"[_Identify] desc")
            e.DataTable.ReplaceFor("发票金额",Nothing,filter)
            If dr100 IsNot Nothing Then
                dr100("发票金额") = vl
            End If

--  作者:feixianzhi
--  发布时间:2016/11/1 7:51:00
--  
非常感谢有点蓝老师的帮忙。
--  作者:feixianzhi
--  发布时间:2016/11/1 8:05:00
--  
还得麻烦有点蓝老师,因为每行我最后输入的列是“无税金额”列。能不能再改动一下编码,实现,当“无税金额”列数值变动时,“发票金额”列数值变动。谢谢。