Foxtable(狐表)用户栏目专家坐堂 → foxtable交叉统计加一列最近库存变化时刻的问题。


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

主题:foxtable交叉统计加一列最近库存变化时刻的问题。

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


加好友 发短信
等级:童狐 帖子:269 积分:2425 威望:0 精华:0 注册:2011/10/21 17:07:00
foxtable交叉统计加一列最近库存变化时刻的问题。  发帖心情 Post By:2021/9/8 7:55:00 [只看该作者]

谢谢大神们,foxtable交叉统计,想加一列最近库存变化时刻,
想要的效果如图

图片点击可在新窗口打开查看此主题相关图片如下:a.png
图片点击可在新窗口打开查看
 
示例文件如下。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:库存变化交叉统计测试.rar

目前代码
以下内容为程序代码:

1 Dim g As New CrossTableBuilder("统计表1", DataTables("库存变化表"), "[仓库名称] <> '购入'")
2 g.HGroups.AddDef("物资编码")
3 g.VGroups.AddDef("仓库名称")
4 g.Totals.AddDef("入库数量", "入库数量")
5 g.HorizontalTotal = True
6 g.VerticalTotal = True
7 g.Filter = "[仓库名称] <> '购入'"
8 g.Build()
9 MainTable = Tables("统计表1")
10


谢谢提醒,已更正。
Dim g As New CrossTableBuilder("统计表1", DataTables("库存变化表"), "[仓库名称] <> '购入'")
g.HGroups.AddDef("物资编码")
g.VGroups.AddDef("仓库名称")
g.Totals.AddDef("入库数量", "入库数量")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Filter = "[仓库名称] <> '购入'"
g.Build()
MainTable = Tables("统计表1")

[此贴子已经被作者于2021/9/8 9:22:55编辑过]

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


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/8 8:37:00 [只看该作者]

麻烦以后发代码不要发带行号的,像下面这样直接发即可。

无法直接统计,要另外使用代码处理:
Dim g As New CrossTableBuilder("统计表1", DataTables("库存变化表"))
g.HGroups.AddDef("物资编码")
g.VGroups.AddDef("仓库名称")
g.Totals.AddDef("入库数量", "入库数量")
g.HorizontalTotal = True
g.VerticalTotal = True
g.Filter = "[仓库名称] <> '购入'"
g.Build()
MainTable = Tables("统计表1")
DataTables("统计表1").DataCols.Add("最近库存变化时刻", Gettype(Date))
For Each r As Row In Tables("统计表1").Rows
    If r("物资编码") <> "合计" Then
        r("最近库存变化时刻") = DataTables("库存变化表").Compute("max(库存变化时刻)","物资编码='" & r("物资编码") & "'")
    End If
Next

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


加好友 发短信
等级:童狐 帖子:269 积分:2425 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2021/9/8 9:24:00 [只看该作者]

谢谢版主!

 回到顶部
客人(14.105.*.*)
  4楼


  发帖心情 Post By:2021/9/8 15:55:00 [只看该作者]

谢谢版主,补充:
解决方案
g.HGroups.AddExp("最近修改时刻","{库存变化结果表}.[修改时刻]",AggregateEnum.Max)
新问题:
Dim g As New SQLCrossTableBuilder("分仓统计含合计","库存变化结果表")
  'g.HGroups.AddDef("{物资表}.备注") '显示出来整列是乱码
g.HGroups.AddExp("备注","{物资表}.[备注]+""""") ’用表达式列加上空格后不是乱码了。

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


加好友 发短信
等级:超级版主 帖子:110810 积分:563988 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/8 16:10:00 [只看该作者]


 回到顶部