以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 狐爸重复问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=12407) |
||||
-- 作者:张海兵 -- 发布时间:2011/9/1 20:32:00 -- 狐爸重复问题 高手帮忙看一下。怎样才能让日期为空的行不计算。已经ok了。但输入日期不自动计算,需要把已经输的值改一下才能计算。可不可以输入日期后自动计算
密码0000 |
||||
-- 作者:czy -- 发布时间:2011/9/1 20:55:00 -- Select Case e.DataCol.Name Case "账户名称","收入","金额","报销日期" |
||||
-- 作者:张海兵 -- 发布时间:2011/9/1 21:21:00 -- 好像没什么用啊 好像没什么用啊 |
||||
-- 作者:czy -- 发布时间:2011/9/1 21:32:00 -- Select Case e.DataCol.Name Case "账户名称","收入","金额","报销日期" Dim dr As DataRow Dim mr As DataRow = e.DataRow If mr.IsNull("报销日期") Then mr("余额") = Nothing Return End If |
||||
-- 作者:czy -- 发布时间:2011/9/1 21:45:00 -- Select Case e.DataCol.Name Case "账户名称","收入","金额","报销日期" Dim dr As DataRow Dim mr As DataRow = e.DataRow If mr.IsNull("报销日期") Then mr("余额") = Nothing Return End If Dim drs As List(of DataRow) dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [账户名称] = \'" & mr("账户名称") & "\' And 报销日期 IS NOT NULL", "[_SortKey] Desc") If dr Is Nothing Then mr("余额") = mr("收入") - mr("金额") dr = mr End If drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [账户名称] = \'" & dr("账户名称") & "\' And 报销日期 IS NOT NULL", "[_SortKey]") For i As Integer = 1 To drs.Count - 1 drs(i)("余额") = drs(i-1)("余额") + drs(i)("收入") - drs(i)("金额") Next If e.DataCol.Name = "账户名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [账户名称] = \'" & e.OldValue & "\' And 报销日期 IS NOT NULL", "[_SortKey] Desc") If dr Is Nothing Then dr = e.DataTable.Find("[账户名称] = \'" & e.OldValue & "\' And 报销日期 IS NOT NULL", "[_SortKey]") If dr IsNot Nothing Then dr("余额") = dr("收入") - dr("金额") End If End If If dr IsNot Nothing Then drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [账户名称] = \'" & dr("账户名称") & "\' And 报销日期 IS NOT NULL", "[_SortKey]") For i As Integer = 1 To drs.Count - 1 drs(i)("余额") = drs(i-1)("余额") + drs(i)("收入") - drs(i)("金额") Next End If End If mr.Locked = True End Select |
||||
-- 作者:张海兵 -- 发布时间:2011/9/1 21:49:00 -- 偶像啊 偶像啊老大。向你学习。 |
||||
-- 作者:张海兵 -- 发布时间:2011/9/1 22:15:00 -- 帮忙再看看吧 日期输入后再改动。下面的余额没什么变化呀。 |
||||
-- 作者:张海兵 -- 发布时间:2011/9/1 22:57:00 -- 帮忙再看看吧 帮忙再看看吧 |
||||
-- 作者:czy -- 发布时间:2011/9/1 23:02:00 -- 你的代码没有以日期为条件,更改日期结果自然不会变了 |
||||
-- 作者:张海兵 -- 发布时间:2011/9/1 23:05:00 -- 那应该怎么办啊 那应该怎么办啊 |