以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  sqlcomputer  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54255)

--  作者:bagabaga
--  发布时间:2014/7/24 14:54:00
--  sqlcomputer
请教 以下代码的问题:

e.DataRow.Save
Dim r As Row 

Dim sr,zc As Double
If e.DataCol.Name = "收入"  
     sr = DataTables("记账").sqlCompute("sum(收入)","项目名称 = \'" & e.DataRow("项目名称")  & "\' And 科目 = \'" & e.DataRow("科目") & "\'")
ElseIf e.DataCol.Name = "支出" 
     zc = DataTables("记账").sqlCompute("sum(支出)","项目名称 = \'" & e.DataRow("项目名称")  & "\' And 科目 = \'" & e.DataRow("科目") & "\'")
End If

实际使用时,支出输入4 ,得出sum和是6
                 支出输入2 ,得出sum和是4
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

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

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看
删除最后一条后   输入0 ,得出sum和是6

--  作者:Bin
--  发布时间:2014/7/24 15:04:00
--  
sqlCompute 统计的是后台数据,不是你眼见的这个表的数据.

比如你修改了表数据,没保存,那么后台数据还是原来的.等于你没修改,  你新增了.没保存后台没更新,等于你没新增

你删除了没保存,后台此时还没删除

Compute 才是统计你眼见即得的