以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- foxtable交叉统计加一列最近库存变化时刻的问题。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=171734) |
||||
-- 作者:wfkbabro -- 发布时间:2021/9/8 7:55:00 -- foxtable交叉统计加一列最近库存变化时刻的问题。 谢谢大神们,foxtable交叉统计,想加一列最近库存变化时刻,
想要的效果如图
示例文件如下。
目前代码 以下内容为程序代码: 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编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间:2021/9/8 9:24:00 -- 谢谢版主! |
||||
-- 作者:客人 -- 发布时间:2021/9/8 15:55:00 -- 谢谢版主,补充: 解决方案
g.HGroups.AddExp("最近修改时刻","{库存变化结果表}.[修改时刻]",AggregateEnum.Max) 新问题:
Dim g As New SQLCrossTableBuilder("分仓统计含合计","库存变化结果表")
\'g.HGroups.AddDef("{物资表}.备注") \'显示出来整列是乱码
g.HGroups.AddExp("备注","{物资表}.[备注]+""""") ’用表达式列加上空格后不是乱码了。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/9/8 16:10:00 -- 可能是数据库设置的原因 |