Foxtable(狐表)用户栏目专家坐堂 → 交叉统计汇总行出现小数溢出


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

主题:交叉统计汇总行出现小数溢出

帅哥哟,离线,有人找我吗?
易服
  11楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2010/8/27 9:41:00 [只看该作者]

自定义菜单就有个交叉统计 数据维护—数据分析。我只要知道用什么办法可以避免小数溢出就行了

If ( e.Form.Controls("RadioButton1").Checked Or e.Form.Controls("RadioButton2").Checked Or e.Form.Controls("RadioButton3").Checked)= False Then
    Messagebox.Show("选一个项目")
    Return
End If
If ( e.Form.Controls("RadioButton4").Checked Or e.Form.Controls("RadioButton5").Checked )= False Then
    Messagebox.Show("选一个面积")
    Return
End If
Dim Filter As String
Dim cmb As WinForm.ComboBox=e.Form.Controls("ComboBox1")
If cmb.Value IsNot Nothing Then
    If Filter > "" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "乡名= '" & cmb.Value & "'"
End If
Dim g As New CrossTableBuilder("交叉统计", DataTables("总览"),Filter)
If e.Form.Controls("RadioButton1").Checked Then g.VGroups.AddDef("造林年度","{0}年_总面积")
    If e.Form.Controls("RadioButton2").Checked Then g.VGroups.AddDef("造林类别","{0}_总面积")
        If e.Form.Controls("RadioButton3").Checked Then  g.VGroups.AddDef("林种","{0}_总面积")
            If e.Form.Controls("RadioButton4").Checked Then  g.Totals.AddDef("保存面积","总面积")
                If e.Form.Controls("RadioButton5").Checked Then  g.Totals.AddDef("退耕地","总面积")
                    If cmb.Value  IsNot Nothing Then
                        g.HGroups.AddDef("村名")
                    Else
                        g.HGroups.AddDef("乡名")
                    End If
                    g.HorizontalTotal = True
                    g.VerticalTotal = True
                    g.HorizontalProportion = True
                    g.VerticalProportion = True
                    g.Build()
                    MainTable = Tables("交叉统计")
                    Tables("交叉统计").Sort = "合计 DESC"
                    Tables("交叉统计").AutoSizeCols()  '自动列宽
                    Tables("交叉统计").Cols.Frozen = 2  '冻结前二列

[此贴子已经被作者于2010-8-27 9:46:51编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/27 9:58:00 [只看该作者]

我打开你的项目,无法正常运行,请直接给一段统计代码,或者告诉我水平分组列、垂直分组列,统计列,我直接对总览表进行统计。


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2010/8/27 10:00:00 [只看该作者]

这个问题一直就有,只是统计表不好看对应的报表却没有这个问题。如果一时难办的话就不要再费神了。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/27 10:02:00 [只看该作者]

你可以看看人家是如何提问的:

 

http://www.foxtable.com/dispbbs.asp?boardid=2&Id=7989

 

这样问题看上去一目了然,我就可以直接去解决问题,而无需花那么多的时间来再现问题。

[此贴子已经被作者于2010-8-27 10:02:36编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/27 10:04:00 [只看该作者]

以下是引用易服在2010-8-27 10:00:00的发言:
这个问题一直就有,只是统计表不好看对应的报表却没有这个问题。如果一时难办的话就不要再费神了。

 

解决问题不劳神,劳神的是再现你说的问题。

我就不明白,给我一段简单的统计代码,或者直接告诉我水平分组列,垂直分组列,统计列是什么,就这么麻烦吗?


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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2010/8/27 10:05:00 [只看该作者]

以下是引用狐狸爸爸在2010-8-27 9:58:00的发言:

我打开你的项目,无法正常运行,请直接给一段统计代码,或者告诉我水平分组列、垂直分组列,统计列,我直接对总览表进行统计。

我这里是正常的,水平分组列以乡名,垂直分组列造林类别,统计列设计面积

[此贴子已经被作者于2010-8-27 10:07:15编辑过]

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


加好友 发短信
等级:三尾狐 帖子:787 积分:6349 威望:0 精华:0 注册:2008/9/1 8:26:00
  发帖心情 Post By:2010/8/27 10:15:00 [只看该作者]

Dim g As New CrossTableBuilder("统计表1", DataTables("总览"))
g.HGroups.AddDef("乡名")
g.VGroups.AddDef("造林类别")
g.Totals.AddDef("设计面积", "设计面积")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()
MainTable = Tables("统计表1")

 

惭愧!简单问题复杂化。记得以前有导入的数据会产生小数溢出一说。

[此贴子已经被作者于2010-8-27 10:21:47编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/27 10:20:00 [只看该作者]

以下是引用易服在2010-8-27 10:05:00的发言:

我这里是正常的,水平分组列以乡名,垂直分组列造林类别,统计列面积

 

1、我找了很久,在你的总览表没有发现名为“面积”的列。

2、不管项目是否正常运行,都应该养成尽量用简单的列子说明问题的习惯,别人看懂你的项目不容易的。

3、我要是你,直接导出总览表,做好统计按钮再发给技术支持人员,或者贴出3楼这样的统计代码(当然要保证能运行),而不是四楼这样的代码,要知道分析4楼的代码,花的时间可能比解决问题的事件更多。

 

[此贴子已经被作者于2010-8-27 10:24:51编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/27 10:23:00 [只看该作者]

以下是引用易服在2010-8-27 10:15:00的发言:

Dim g As New CrossTableBuilder("统计表1", DataTables("总览"))
g.HGroups.AddDef("乡名")
g.VGroups.AddDef("造林类别")
g.Totals.AddDef("设计面积", "设计面积")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Build()
MainTable = Tables("统计表1")

 

惭愧!简单问题复杂化。

 

 

这就对了,你早这么干,我一分钟就能明白问题所在,不会浪费我一个小时了。

一分钟和一个小时,差别有多大啊。

问题收到,我会尽快处理的。

 

我如果在开发foxtable的过程中遇到问题,直接将foxtable的项目传给上家请教,有些问题对方就是抽出一个专门的工程师,花几个月时间也不一定能理清楚其中的关系,所以简化问题,让对方一看就明白,不要被其他方面干扰,是非常重要的。

[此贴子已经被作者于2010-8-27 10:33:42编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/27 11:13:00 [只看该作者]

问题已经处理好,下次不会这样了。

 回到顶部
总数 20 上一页 1 2