Foxtable(狐表)用户栏目专家坐堂 → 组合统计出错


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

主题:组合统计出错

美女呀,离线,留言给我吧!
mym950115
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:456 威望:0 精华:0 注册:2019/5/10 9:41:00
组合统计出错  发帖心情 Post By:2019/5/10 15:50:00 [只看该作者]

Dim a As New GroupTableBuilder("入库表1",DataTables("电机壳生产明细")) Dim a1 As fxDataSource a.Groups.AddDef("规格") a.Groups.AddDef("物料编码") a.Groups.AddDef("入库工序","工序") a.Totals.AddDef("入库数量","入库_数量") a1 = a.BuildDataSource() Dim b As New GroupTableBuilder("领用表1",DataTables("电机壳生产明细")) Dim b1 As fxDataSource b.Groups.AddDef("规格") b.Groups.AddDef("物料编码") b.Groups.AddDef("领用工序","工序") b.Totals.AddDef("领用数量","领用_数量") b1 = b.BuildDataSource() Dim c As New GroupTableBuilder("出库表1",DataTables("出库明细表")) Dim c1 As fxDataSource c.Groups.AddDef("规格") c.Groups.AddDef("物料编码") c.Groups.AddDef("工序") c.Totals.AddDef("数量","出库_数量") c1 = c.BuildDataSource() Dim d As New GroupTableBuilder("结存表1",DataTables("结存表")) Dim d1 As fxDataSource d.Groups.AddDef("规格") d.Groups.AddDef("物料编码") d.Groups.AddDef("工序") d.Totals.AddDef("上期结存","结存_数量") d1 = d.BuildDataSource() Dim nms As String()={"规格", "物料编码", "工序"} a1.Combine(nms, d1,nms) b1.Combine(nms, d1,nms) c1.Combine(nms, d1,nms) Tables("窗口1_Table1").DataSource = d1 '将统计结果绑定到Table With DataTables("窗口1_Table1").DataCols '用表达式列计算库存数据 .Add("库存_数量",Gettype(Integer), "IsNull([结存_数量],0) + ISNULL([入库_数量],0) - ISNULL([领用_数量],0) - ISNULL([出库_数量],0) ") End With 这段代码中,最后显示是说,1.找不到入库数量 2.结存表中不存在库存_数量多列 不懂是为什么?

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


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

请上传具体实例测试

 回到顶部
美女呀,离线,留言给我吧!
mym950115
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:456 威望:0 精华:0 注册:2019/5/10 9:41:00
  发帖心情 Post By:2019/5/10 16:10:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:组合统计出错_201905101606.zip


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


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

Dim a As New GroupTableBuilder("入库表1",DataTables("电机壳生产明细"))
Dim a1 As fxDataSource
      a.Groups.AddDef("规格")
      a.Groups.AddDef("物料编码")
      a.Groups.AddDef("入库工序","工序")
      a.Totals.AddDef("入库数量","入库_数量")
a1 = a.BuildDataSource()
'a.build
Dim b As New GroupTableBuilder("领用表1",DataTables("电机壳生产明细"))
Dim b1 As fxDataSource
      b.Groups.AddDef("规格")
      b.Groups.AddDef("物料编码")
      b.Groups.AddDef("领用工序","工序")
      b.Totals.AddDef("领用数量","领用_数量")
b1 = b.BuildDataSource()
'b.build
Dim c As New GroupTableBuilder("出库表1",DataTables("出库明细表"))
Dim c1 As fxDataSource
      c.Groups.AddDef("规格")
      c.Groups.AddDef("物料编码")
      c.Groups.AddDef("工序")
      c.Totals.AddDef("数量","出库_数量")
c1 = c.BuildDataSource()
'c.build
Dim d As New GroupTableBuilder("结存表1",DataTables("结存表"))
Dim d1 As fxDataSource
      d.Groups.AddDef("规格")
      d.Groups.AddDef("物料编码")
      d.Groups.AddDef("工序")
      d.Totals.AddDef("上期结存","结存_数量")
d1 = d.BuildDataSource()
'd.build

Dim nms As String()={"规格", "物料编码", "工序"}
a1.Combine(nms, b1,nms)
a1.Combine(nms, c1,nms)
a1.Combine(nms, d1,nms)
'
'
Tables("窗口1_Table1").DataSource = a1 '将统计结果绑定到Table

 With  DataTables("窗口1_Table1").DataCols  '用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([结存_数量],0) + ISNULL([入库_数量],0) - ISNULL([领用_数量],0) - ISNULL([出库_数量],0) ")
End With


 回到顶部
美女呀,离线,留言给我吧!
mym950115
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:456 威望:0 精华:0 注册:2019/5/10 9:41:00
  发帖心情 Post By:2019/5/11 12:33:00 [只看该作者]

哈哈哈哈哈哈,非常感谢,是我太粗心了~~ 请问那他加什么代码能够变成一张现存的表啊,用 build 好像不能生成

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/11 13:42:00 [只看该作者]

只能生成临时表。要保存到数据库,先手工建好表,再把统计表结果填充过去:http://www.foxtable.com/webhelp/scr/1533.htm

 回到顶部
美女呀,离线,留言给我吧!
mym950115
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:456 威望:0 精华:0 注册:2019/5/10 9:41:00
  发帖心情 Post By:2019/5/11 16:32:00 [只看该作者]

只能用手工填码吗??? 不能直接用filler?? 貌似 fxdatasource 不能作为 数据源, 这部分这么连接啊

 回到顶部
美女呀,离线,留言给我吧!
mym950115
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:456 威望:0 精华:0 注册:2019/5/10 9:41:00
  发帖心情 Post By:2019/5/11 16:40:00 [只看该作者]

没事了,已经修正,谢谢~~

 回到顶部
美女呀,离线,留言给我吧!
mym950115
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:456 威望:0 精华:0 注册:2019/5/10 9:41:00
  发帖心情 Post By:2019/5/12 14:42:00 [只看该作者]

你好,之前说可以将 临时表数据 填充, 那临时表必须要 展示出来吗? 代码中 不加 d1.show("结存表1")的话, filler 的时候会说没有表d1哎,这个这么做呀?

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


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

以下是引用mym950115在2019/5/12 14:42:00的发言:
你好,之前说可以将 临时表数据 填充, 那临时表必须要 展示出来吗? 代码中 不加 d1.show("结存表1")的话, filler 的时候会说没有表d1哎,这个这么做呀?

 

你可以写代码隐藏,如

 

tables("结存表1").visible = false

 


 回到顶部