以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 汇总显示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52333) |
-- 作者:shanmao -- 发布时间:2014/6/13 14:43:00 -- 汇总显示 在收入表窗口中的Table中有其中三列,金额,收入汇总,账号卡号。现在我想在添加新的收入时,收入汇总列能够自动的累加上次并显示出来。怎么写? 下面这个是我的代码,但是没有达到效果。 If e.Form.Controls("金额").text <> "" Then nr("金额") = CInt(e.Form.Controls("金额").text ) Dim ccfs As DataRow = DataTables("存支方式").find("del=1 and 编号 = \'" & nr("存支方式编号") & "\'") If ccfs IsNot Nothing Then nr("收入汇总") = Tables("收入表窗口_Table1").Compute("Sum(金额)","账号卡号 = \'" & ccfs("卡号") & "\'") End If End If |
-- 作者:Bin -- 发布时间:2014/6/13 14:46:00 -- 你NR从何而来,自己利用messagebox.show 调试一下看看哪一步没有按照你预先的运行 建议您用这个方法: http://www.foxtable.com/help/topics/1485.htm 先找出是哪一行出错,然后分析原因,搞不定,把调试结果发出来,或者上例子. |
-- 作者:shanmao -- 发布时间:2014/6/15 12:44:00 -- 看我截图,和下面的增加按钮Click的代码。 添加收入按钮的代码: Dim Result As DialogResult Result = MessageBox.Show("您确定添加吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then If e.Form.Controls("类型2").text = "" Or e.Form.Controls("收入者2").text = "" Or e.Form.Controls("存储方式2").text = "" Or e.Form.Controls("持有人2").text = "" Or e.Form.Controls("金额").text ="" Or e.Form.Controls("日期").text="" Then MessageBox.Show("必填项不能为空!!!") Else Dim nr As Row = Tables("收入表窗口_Table1").AddNew Dim zc As DataRow If e.Form.Controls("类型2").text <> "" Then nr("收入类型表编号") = CInt(e.Form.Controls("类型2").text) Dim lx As DataRow = DataTables("收入类型表").find("del = 1 and 编号=\'"& nr("收入类型表编号") &"\'") If lx IsNot Nothing Then nr("收入类型") =lx("类型") End If End If If e.Form.Controls("金额").text <> "" Then nr("金额") = CInt(e.Form.Controls("金额").text ) Dim ccfs As DataRow = DataTables("存支方式").find("del=1 and 编号 = \'" & nr("存支方式编号") & "\'") If ccfs IsNot Nothing Then nr("收入汇总") = Tables("收入表窗口_Table1").Compute("Sum(金额)","账号卡号 = \'" & ccfs("卡号") & "\'") End If End If If e.Form.Controls("日期").text <> "" Then nr("日期") = CDate(e.Form.Controls("日期").text ) End If If e.Form.Controls("收入者2").text <> "" Then nr("收入者编号") = CInt(e.Form.Controls("收入者2").text ) Dim fdr As DataRow = DataTables("家庭成员表").Find("del=1 and 编号 = \'" & nr("收入者编号") & "\'") If fdr IsNot Nothing Then nr("收入者姓名") = fdr("姓名") End If End If If e.Form.Controls("存储方式2").text <> "" Then nr("存支类型表编号") = CInt(e.Form.Controls("存储方式2").text) Dim sd As DataRow = DataTables("存支类型表").find("del=1 and 编号 = \'"& nr("存支类型表编号") & "\'") If sd IsNot Nothing Then nr("储存方式") = sd("存支类型") End If End If If e.Form.Controls("卡号类型2").text <> "" Then nr("银行表编号") = CInt(e.Form.Controls("卡号类型2").text ) Dim zh As DataRow = DataTables("银行表").find("del=1 and 编号 = \'"& nr("银行表编号")&"\'" ) If zh IsNot Nothing Then nr("账号卡号类型") = zh("名称") End If End If If e.Form.Controls("银行卡号2").text <> "" Then nr("存支方式编号") = CInt(e.Form.Controls("银行卡号2").text ) Dim yh As DataRow = DataTables("存支方式").find("del=1 and 编号 = \'"& nr("存支方式编号")&"\'" ) If yh IsNot Nothing Then nr("账号卡号") = yh("卡号") End If End If If e.Form.Controls("持有人2").text <> "" Then nr("持有人") = CInt(e.Form.Controls("持有人2").text ) Dim cy As DataRow = DataTables("家庭成员表").find("del =1 and 编号 = \'"& nr("持有人")&"\'") If cy IsNot Nothing Then nr("持有人姓名") = cy("姓名") End If End If MessageBox.Show("数据添加成功!") e.Form.close() nr.Save End If End If |
-- 作者:shanmao -- 发布时间:2014/6/15 12:50:00 -- 我的意思是当我添加的时候,收入汇总列也能够自动的跟随着金额列累加显示出来。 |
-- 作者:有点甜 -- 发布时间:2014/6/15 14:17:00 -- 不明你的意思,代码不是没有错吗?你看看红色代码是否有对应的数据
If e.Form.Controls("金额").text <> "" Then msgbox("aaabbbccc") |