以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 统计报错 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=113535) |
-- 作者:lxmoffice -- 发布时间:2018/1/17 17:14:00 -- 统计报错 .NET Framework 版本:2.0.50727.8762 Foxtable 版本:2017.10.26.1 错误所在事件:表,类别汇总_现金细目,DataColChanged 详细错误信息: 调用的目标发生了异常。 在 Range 对象中,Min (73)必须小于或等于 max (-1)。 A表为现金流水表 B表对现金流水表某个"项目"进行统一(求和) 在B表选择"项目"进行统计时报以上错误. 但我发现一情况, 刚打开系统时是可以正确统计的(这点证明代码是没有问题的), 但当我用筛选树对A表操作后便开始报错, 请高手指教. |
-- 作者:有点甜 -- 发布时间:2018/1/17 17:48:00 -- 贴出你datacolchanged事件写的代码。
http://www.foxtable.com/webhelp/scr/1485.htm
|
-- 作者:lxmoffice -- 发布时间:2018/1/17 18:35:00 -- 以下是datacolchanged代码 If e.DataCol.Name = "项目类别" Then If e.DataRow("年份")="" messagebox.show("请先选择年份") e.DataRow("项目类别") = Nothing Else Dim m1 As Double Dim m2 As Double Dim m3 As Double Dim m4 As Double Dim m5 As Double Dim m6 As Double Dim m7 As Double Dim m8 As Double Dim m9 As Double Dim m10 As Double Dim m11 As Double Dim m12 As Double Dim Tol As Double m1=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 1") m2=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 2") m3=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 3") m4=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 4") m5=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 5") m6=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 6") m7=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 7") m8=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 8") m9=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 9") m10=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 10") m11=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 11") m12=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\'and 项目类别= \'"& e.DataRow("项目类别") & "\'and 月份= 12") If m1 =0 e.DataRow("一月")=Nothing Else e.DataRow("一月")=m1 End If If m2 =0 e.DataRow("二月")=Nothing Else e.DataRow("二月")=m2 End If If m3 =0 e.DataRow("三月")=Nothing Else e.DataRow("三月")=m3 End If If m4 =0 e.DataRow("四月")=Nothing Else e.DataRow("四月")=m4 End If If m5 =0 e.DataRow("五月")=Nothing Else e.DataRow("五月")=m5 End If If m6 =0 e.DataRow("六月")=Nothing Else e.DataRow("六月")=m6 End If If m7 =0 e.DataRow("七月")=Nothing Else e.DataRow("七月")=m7 End If If m8 =0 e.DataRow("八月")=Nothing Else e.DataRow("八月")=m8 End If If m9 =0 e.DataRow("九月")=Nothing Else e.DataRow("九月")=m9 End If If m10 =0 e.DataRow("十月")=Nothing Else e.DataRow("十月")=m10 End If If m11 =0 e.DataRow("十一月")=Nothing Else e.DataRow("十一月")=m11 End If If m12 =0 e.DataRow("十二月")=Nothing Else e.DataRow("十二月")=m12 End If Tol=m1+m2+m3+m4+m5+m6+m7+m8+m9+m10+m11+m12 If Tol=0 e.DataRow("总支出")=Nothing Else e.DataRow("总支出")=Tol End If End If End If |
-- 作者:lxmoffice -- 发布时间:2018/1/17 18:38:00 -- |
-- 作者:有点甜 -- 发布时间:2018/1/17 20:33:00 -- 试试改成,加上单引号
m1=DataTables("现金细目").Compute("Sum(支出)","年份= \'"& e.DataRow("年份") & "\' and 项目类别= \'"& e.DataRow("项目类别") & "\' and 月份= \'1\'") |