以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  判断代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48269)

--  作者:7032175
--  发布时间:2014/3/26 13:06:00
--  判断代码
第一列:值为:100  
以下有三个列为添数列
条件一:在第二列添入10时,第一列值为110
条件二:第二列内有值为10,在第三列添入10时,第一列值为120
条件二:第二列内有值为10,第三列内有值为10时,在第四列添入10时,第一列值为130   不希望用公式,希望用代码解决一下,请大家帮助一下。

--  作者:y2287958
--  发布时间:2014/3/26 13:15:00
--  
DataColChanged事件试试以下代码:可能不太严谨,思路而已

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "第二列"
        dr("第一列") += dr(e.DataCol.Name)
    Case "第三列"
        If dr.IsNull("第二列") = False
            dr("第一列") += dr(e.DataCol.Name)
        End If
    Case "第四列"
        If dr.IsNull("第二列") = False AndAlso dr.IsNull("第三列") = False
            dr("第一列") += dr(e.DataCol.Name)
        End If
End Select

--  作者:7032175
--  发布时间:2014/3/26 13:39:00
--  
有点复杂,有没有简洁一点代码,一共四个例,一个合计列,其它三个输入数时就加进合计列,如果当把数去掉时,合计列就去减少去除的数。
--  作者:lsy
--  发布时间:2014/3/26 13:56:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:datacolchanged数值累加.foxdb


--  作者:7032175
--  发布时间:2014/3/26 13:59:00
--  
真不好意思呵呵,我现在使用的是商业版本的打不开开发版本的


--  作者:lsy
--  发布时间:2014/3/26 14:28:00
--  
Select Case e.DataCol.Name
    Case "第二列","第三列","第四列"
        e.DataRow("第一列") + = IIF(e.NewValue = Nothing,0,e.NewValue) - IIF(e.OldValue = Nothing,0,e.OldValue)
End Select