Foxtable(狐表)用户栏目专家坐堂 → 按年统计的时候是对的 但是复制到按月统计的时候就报错了 这是为什么呢


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

主题:按年统计的时候是对的 但是复制到按月统计的时候就报错了 这是为什么呢

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
按年统计的时候是对的 但是复制到按月统计的时候就报错了 这是为什么呢  发帖心情 Post By:2013/4/2 14:38:00 [只看该作者]

为什么有错误呢?

 '--------------------------------生成统计表--------------------------'
    Dim g As New CrossTableBuilder("统计表1", DataTables("课程信息"), "[培训时间] >= #1/1/" & e.sender.value & "# And [培训时间]  <= #12/31/" & e.sender.value & "#")
    g.HGroups.AddDef("培训时间", "月")
    g.VGroups.AddDef("课程")
    g.Totals.AddDef("人天统计", "人天统计")
    g.Totals.AddDef("实际人数", "实际人数")
    g.VerticalProportion = True
    g.VerticalProporti      '交叉统计数据分析
    g.Filter = "[培训时间] >= #1/1/" & e.sender.value & "# And [培训时间]  <= #12/31/" & e.sender.value & "#"
    g.Build()
   
    '-----------------------------------生成图表----------------------
    Dim Chart As WinForm.Chart '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Dim t As Table = Tables("统计表1") '定义一个变量t引用数据表
    Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
    Chart.SeriesList.Clear()
    Chart.ChartType = ChartTypeEnum.Bar '图表类型改为Bar(条形)
    Chart.DataSource = "统计表1" '设置绑定表
    chart.AxisX.Major = 1
    Chart.AxisY.Major = 100
    Chart.AxisY.Min = 0 '指定Y轴的最小值
   
   
    For Each c As Col In t.Cols
        If c.Caption.Contains("实际人数/")  Then
            c.Visible = False
        End If
        c.DataCol.SetFormat("#,###")
    Next
   
   
    For Each r As Row In t.Rows
        For Each c As Col In t.Cols
            If c.Caption.Contains("人天统计/")  Then
                r(c.name) =t(r.Index,c.Index-1)/t(r.Index,c.Index-3)
            End If
        Next
    Next
    For Each c As Col In t.Cols
        If c.Name <> "年" Then
            If c.Visible = True Then
                Series = Chart.SeriesList.Add() '增加一个图系
                Series.Text = c.Caption    'Name '设置图系的标题
                Series.X.DataField = "年" 'X轴绑定到产品列
                Series.Y.DataField = c.Name '设置Y轴的绑定列
                Series.DataLabelText = "{#YVAL}"
            End If
        End If
    Next
    'Chart.VisualEffect = True '加上这一行,让你的图表更漂亮
    Chart.LegendVisible = True '显示图列
    Chart.LegendCompass= CompassEnum.South '图列显示在南方(底端)
    ChaRT.HeaderText = "实际人数-人天统计"
    Chart.AxisX.Text = "月份"


此主题相关图片如下:按月统计出错了.png
按此在新窗口浏览图片
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:练习.table


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/2 14:42:00 [只看该作者]

因为你有某一个列 列名为空。。

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
回复:(Bin)因为你有某一个列 列名为空。。  发帖心情 Post By:2013/4/2 14:54:00 [只看该作者]

这个代码跟按年统计的代码一样的呀 只是多了筛选时间的条件!也不知道哪个列少呢


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/2 15:06:00 [只看该作者]

学会自己分析,找出是哪一行代码出错吗,然后分析原因,不能太依赖官方工程师:

 

http://www.foxtable.com/help/topics/1485.htm

 


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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
回复:(狐狸爸爸)学会自己分析,找出是哪一行代码出...  发帖心情 Post By:2013/4/2 15:24:00 [只看该作者]

您说的有道理呀 但是这是我自己分析了一周还没分析出来啊!所以才来论坛问呀。来论坛问肯定是我没分析出来的呢,我自己分析出来的都已经自己解决了!!!


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/2 16:07:00 [只看该作者]

你真的按照4楼的方法分析了的话,那么就已经知道哪一行的代码出问题了。

 

 

 For Each r As Row In t.Rows
        For Each c As Col In t.Cols
            If c.Caption.Contains("人天统计/")  Then
                r(c.name) =t(r.Index,c.Index-1)/t(r.Index,c.Index-3)
            End If
        Next
  Next

 

遍历列,如果这一列是第一列,0-3 =  -3, 存在位置为-3的列吗?

 

逻辑问题。

[此贴子已经被作者于2013-4-2 16:07:01编辑过]

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
回复:(狐狸爸爸)你真的按照4楼的方法分析了的话,那...  发帖心情 Post By:2013/4/2 16:19:00 [只看该作者]

我有改过这里的 一个-2 一个-4更不行 又改0 2 只是瞎改的  找表1也没确定是怎么排序的


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/4/2 16:42:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
回复:(muhua)'r(c.name) =t(r.Index,c.Index-1)/t(...  发帖心情 Post By:2013/4/2 17:15:00 [只看该作者]

像是这样做出来图表不显示,但怎么感觉像是这样做出来的只是一组数据呀

按年和按月是一样的程序呀 只不过按月是要按年筛选过的,我没运行一次程序就看看统计表1

然后把程序改成 r(c.name) =t(r.Index,c.Index-1)/t(r.Index,c.Index+1) 没有错误了就是不显示出数据

 

 


此主题相关图片如下:按年.png
按此在新窗口浏览图片

此主题相关图片如下:按年筛选后.png
按此在新窗口浏览图片

此主题相关图片如下:按月.png
按此在新窗口浏览图片

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


加好友 发短信
等级:婴狐 帖子:94 积分:723 威望:0 精华:0 注册:2013/2/27 16:58:00
回复:(muhua)'r(c.name) =t(r.Index,c.Index-1)/t(...  发帖心情 Post By:2013/4/2 17:27:00 [只看该作者]

哦啦 找到原因了 谢谢呀 还是用的-1和+1  没显示主要是里面的写错了!最然不明白为什么一样的代码为什么一个-1、-3和-1、+1 但是已经解决啦 还是谢谢你呀  谢谢!!!


 回到顶部