Foxtable(狐表)用户栏目专家坐堂 → 关于组合多表统计


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

主题:关于组合多表统计

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


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
关于组合多表统计  发帖心情 Post By:2016/8/1 14:48:00 [只看该作者]

老师;下面的代码运行后,发生错误:无法找到列“品名大类”;请问是什么原因
Dim kcbs As String = DataTables("库存表").getcomboliststring("入库编号")
kcbs = "('"& kcbs.replace("|","','") & "')"

Dim Ckbs As String = DataTables("出库表").getcomboliststring("入库编号","入库编号 in " & kcbs)
Ckbs = "('"& ckbs.replace("|","','") & "')"

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("入库表"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("品名大类") '根据品名大类分组
bd1.Totals.AddDef("重量","入库_重量") '对重量进行统计
bd1.Totals.AddDef("匹数","入库_匹数") '对匹数进行统计
bd1.fromserver = True
bd1.filter = "入库编号 In ('" & ckbs & "')"
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("库存表"))
Dim dt2  As fxDataSource
bd2.Groups.AddDef("品名大类") '根据品名大类分组
bd2.Totals.AddDef("重量","库存_重量") '对重量进行统计
bd2.Totals.AddDef("匹数","库存_匹数") '对匹数进行统计
bd2.fromserver = True
bd2.filter = "入库编号 In ('" & ckbs & "')"
dt2 = bd2.BuildDataSource()

Dim bd3 As New GroupTableBuilder("统计表3",DataTables("出库表"))
Dim dt3 As fxDataSource
bd3.Groups.AddDef("品名大类") '根据品名大类分组
bd3.Totals.AddDef("重量","出库_重量") '对重量进行统计
bd3.Totals.AddDef("匹数","出库_匹数") '对匹数进行统计
bd3.fromserver = True
bd3.filter = "入库编号 In ('" & ckbs & "')"
dt3 = bd3.BuildDataSource()

dt1.Combine("品名大类",dt2,"品名大类") '将库存统计数据组合到入库统计数据
dt1.Combine("品名大类",dt3,"品名大类") '将出库统计数据组合到入库统计数据

Tables("统计窗口_Table1").DataSource = dt1 '将统计结果绑定到Table
Dim t As Table = Tables("统计窗口_Table1")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "入库_重量,入库_匹数,库存_重量,库存_匹数,出库_重量,出库_匹数"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/1 15:09:00 [只看该作者]

提示很清楚。

 

说明你 入库表、出库表、库存表,肯定有一个表,没有 品名大类 列


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


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/8/1 15:47:00 [只看该作者]

三个表肯定是都有品名大类列的,这些代码是写在窗口下面的一个按钮里,还有好几个其他类似的按钮,会不会之间有冲突?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/1 15:58:00 [只看该作者]

实例发上来吧。

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


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/8/1 16:09:00 [只看该作者]

老师找到原因了,bd1.filter = "入库编号 In ('" & ckbs & "')" 改成:bd1.filter = "入库编号 In " & ckbs ;
老师能不能,解释一下原理?谢谢

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


加好友 发短信
等级:三尾狐 帖子:706 积分:4908 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/8/1 16:11:00 [只看该作者]

代码没有分号

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/1 18:35:00 [只看该作者]

以下是引用lk15502在2016/8/1 16:09:00的发言:
老师找到原因了,bd1.filter = "入库编号 In ('" & ckbs & "')" 改成:bd1.filter = "入库编号 In " & ckbs ;
老师能不能,解释一下原理?谢谢

 

ckbs 的值,是这样的  1','2','3','4

 

需要合并成这样才行    入库编号 In ('1','2','3','4')


 回到顶部