Foxtable(狐表)用户栏目专家坐堂 → [求助]SQLGroupTableBuilder进行统计的小数位数问题


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

主题:[求助]SQLGroupTableBuilder进行统计的小数位数问题

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


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
[求助]SQLGroupTableBuilder进行统计的小数位数问题  发帖心情 Post By:2014/4/29 19:11:00 [只看该作者]

SQLGroupTableBuilder进行统计后Totals.AddDef(合计)出现.999


输入的数据都是一位或两位小数,为何会出现多位小数,且是.9999或更多9
如何保留两位小数?
[此贴子已经被作者于2014-4-29 19:13:07编辑过]

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


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

 最后对表设置一下便可。

 

 类似 DataTables("统计表1").DataCols("成品率").SetFormat("#0.00")

 

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

 


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


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
  发帖心情 Post By:2014/4/29 20:42:00 [只看该作者]

我的统计表是临时表,按版主的提示设置代码后不起作用

在2013年商业版会出现.99999,输入的数据都是一位或两位小数
在2013年10月试用版测试版正常,两位
错误出在会总行,只会出现9
[此贴子已经被作者于2014-4-29 20:46:22编辑过]

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


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

 统计以后,是会有误差的你可以用2楼的方法,设置列显示的格式。

 

 2楼的代码,不可能没有效果。最新版测试时有效的,2013版也肯定是有效的。


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


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
  发帖心情 Post By:2014/4/29 20:48:00 [只看该作者]

小数点后只会出现9,不明白啊

提法有错误,是窗口表(临时表)
[此贴子已经被作者于2014-4-29 20:56:37编辑过]

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


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

以下是引用红颜在2014-4-29 20:48:00的发言:
小数点后只会出现9,不明白啊

 

会出现这种情况的,有可能是汇总的时候,出现一些误差。

 

处理汇总行的帮助,看这里 http://www.foxtable.com/help/topics/1911.htm

 


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


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
  发帖心情 Post By:2014/4/29 21:00:00 [只看该作者]

对,是会总行出现误差,本应是两位小数,但却变成.9999

窗口表

按2楼设置后,主表起作用,但对应的窗口表不起作用,如何设置窗口表?
[此贴子已经被作者于2014-4-29 21:03:29编辑过]

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


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

回复 7楼,窗口表,也是同样设置的。

 

你的窗口表,是什么类型的?

 

试试这样 e.Form.Controls("Table1").Table.DataTable.SetFormat("#0.00")

[此贴子已经被作者于2014-4-29 21:09:30编辑过]

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


加好友 发短信
等级:童狐 帖子:254 积分:1963 威望:0 精华:0 注册:2013/2/6 19:09:00
  发帖心情 Post By:2014/4/29 21:31:00 [只看该作者]

Normal型

e.Form.Controls("Table1").Table.DataTable.SetFormat("#0.00")为指明列名称
代码不行,有错误,是对会总行进行小数位数设置

代码:
Dim b As New SQLGroupTableBuilder("汇总统计","SFMX")
    b.Filter = "[RQ] >= #"& DT1 &"# And [RQ]<= #"& DT2 &"# And [ZT] = "& True &" And [ZF] = "& False &""
    b.Groups.AddDef("XM","项目类别")
    b.Totals.AddDef("JE","分项合计")
    b.VerticalTotal = True
    b.Build
    DataTables("汇总统计").DataCols("分项合计").SetFormat("0.0")起作用,在母表中
    MainTable = Tables("汇总统计")
    Tables("汇总统计_Table1").DataSource = b.BuildDataSource()
    Tables("汇总统计_Table1").AutoSizeHeaderRow()
    Tables("汇总统计_Table1").AutoSizeRows()
    Tables("汇总统计_Table1").RowHeaderVisible = True
    Tables("汇总统计_Table1").SetColVisibleWidth("项目类别|120|分项合计|120")
    DataTables("汇总统计").AllowEdit = False
问题在"分项合计"水平和垂直汇总行

统计表移到窗口后并不是按设置了小数位数显示
[此贴子已经被作者于2014-4-29 21:53:41编辑过]

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


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

以下是引用红颜在2014-4-29 21:31:00的发言:
Normal型

 

那不可能啊,上传一个不行的例子看看。


 回到顶部
总数 12 1 2 下一页