Foxtable(狐表)用户栏目专家坐堂 → 统计报错


  共有2682人关注过本帖树形打印复制链接

主题:统计报错

帅哥哟,离线,有人找我吗?
lxmoffice
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:1542 威望:0 精华:0 注册:2017/2/1 10:03:00
统计报错  发帖心情 Post By: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表操作后便开始报错, 请高手指教.


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 17:48:00 [只看该作者]

贴出你datacolchanged事件写的代码。

 

http://www.foxtable.com/webhelp/scr/1485.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
lxmoffice
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:1542 威望:0 精华:0 注册:2017/2/1 10:03:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:125 积分:1542 威望:0 精华:0 注册:2017/2/1 10:03:00
  发帖心情 Post By:2018/1/17 18:38:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/1/17 20:33:00 [只看该作者]

试试改成,加上单引号

 

m1=DataTables("现金细目").Compute("Sum(支出)","年份= '"& e.DataRow("年份") & "' and 项目类别= '"& e.DataRow("项目类别") & "' and 月份= '1'")


 回到顶部