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


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

主题:用SQLGroupTableBuilder多表统计

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
用SQLGroupTableBuilder多表统计  发帖心情 Post By:2015/5/6 11:09:00 [显示全部帖子]

“事件汇总“表有”姓名“、”次数“列;”人员任务统计“表有”名字“、”数量“列,现在通过”名字“和”姓名“列建立关联,添加多表。结果报错,求解,谢谢

Dim b As New SQLGroupTableBuilder("统计表1","事件汇总")
b.C
b.AddTable("事件汇总","名字","人员任务统计","姓名") '添加统计表

b.Groups.AddDef("PF") '分组
b.Totals.AddDef("次数")'对数量进行统计
b.Totals.AddDef("数量")'对数量进行统计
b.Build '生成统计表
MainTable = Tables("统计表1") 


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/6 14:05:00 [显示全部帖子]

核实了列,但老是报“生成SQL语句出错”。注:局域网ACCESS数据源。

而且,不添加多表,单独统计“人员任务统计”,仍然报错,代码如下:

Dim b As New SQLGroupTableBuilder("统计表1","人员任务统计")
b.C
b.Groups.AddDef("姓名") '根据产品名称分组
b.Totals.AddDef("起落")'对数量进行统计
b.Build '生成统计表
MainTable = Tables("统计表1")
而对“事件汇总”表单独统计则正常,求解。

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/6 16:20:00 [显示全部帖子]

请指点。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多表统计.zip


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/6 16:30:00 [显示全部帖子]

1楼的不行,这才是最需要的多表统计。

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/6 21:16:00 [显示全部帖子]

我也测试过,可行。但是在局域网运行就报错,搞不懂。

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/6 21:44:00 [显示全部帖子]

数据源不用写局域网路径吧?

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/7 13:13:00 [显示全部帖子]

谢谢指点。按照指示进行查看,发现ACCESS数据源中居然看不到"人员任务统计"这张表,而又列在外部表中清单中,这就奇怪了,求解。

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/9 23:05:00 [显示全部帖子]

发现ACCESS数据源中表名不一致,基本解决。
新问题,增加一个表达式统计列,把统计出来的“次数”除以“起落”,发现结果不对,求解,代码如下:

Dim b As New SQLGroupTableBuilder("统计表1","事件汇总")
b.C
b.AddTable("事件汇总","PF","人员任务统计","姓名") '添加统计表
'b.AddTable("人员任务统计","姓名","事件汇总","PF") '添加统计表
b.Groups.AddDef("PF") '分组
b.Totals.AddDef("次数")'对数量进行统计
b.Totals.AddDef("起落")'对数量进行统计
b.Totals.AddExp("概率", "次数/起落")'增加表达式列,得出概率
DataTables("统计表1").DataCols("概率").SetFormat("#0.00%")'百分比显示概率
b.Build '生成统计表
MainTable = Tables("统计表1")

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/10 19:30:00 [显示全部帖子]

可以实现,但为何用b.Totals.AddExp就不行?
另外一个问题,统计的“次数”是实际数的三倍,搞不懂,求解。可用如下代码,比较测试:
Dim b As New SQLGroupTableBuilder("统计表1","事件汇总")
b.C
'b.AddTable("事件汇总","PF","人员任务统计","姓名") '添加统计表
b.Groups.AddDef("PF") '分组
'b.Totals.AddDef("起落")'对数量进行统计
b.Totals.AddDef("次数")'对数量进行统计

b.Build '生成统计表
MainTable = Tables("统计表1")


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2015/5/10 19:35:00 [显示全部帖子]

老是粘贴不上第2句代码:b.C

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