以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 分组汇总时能否除显示分组列和汇总列外,也能同时显示其他不分组的列 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169708) |
||||
-- 作者:mybx -- 发布时间:2021/6/27 14:08:00 -- 分组汇总时能否除显示分组列和汇总列外,也能同时显示其他不分组的列 我要对下面这个物耗总表进行分组汇总,分组列是代号和规格(用代号和规格两项才能确定这个物料),要汇总的列为最后面的“小合计”,见下图 此主题相关图片如下:222222222.png 我的问题是,只显示三列太少了,想再多显示几列,如名称、工序、类别、备注等,但这些列是不参与分组汇总的。如果设置不能解决,是不是有其他代码可以?
|
||||
-- 作者:有点蓝 -- 发布时间:2021/6/27 21:47:00 -- 分组后添加一些临时列,比如: Dim b As New GroupTableBuilder("统计表1",DataTables("物耗总表")) b.Groups.AddDef("代号") b.Groups.AddDef("规格") b.Totals.AddDef("小合计") b.Build \'生成统计表 dataTables("统计表1").DataCols.Add("名称", GetType(string), 16) dim dr as datarow for each r as row in Tables("统计表1").rows dr = ataTables("物耗总表").find("代号=\'" & r("代号") & "\' and 规格=\'" & r("规格") & "\'") r("名称") = dr("名称") next
|
||||
-- 作者:mybx -- 发布时间:2021/6/30 11:23:00 -- 感谢大佬!非常感谢!! |
||||
-- 作者:mybx -- 发布时间:2021/6/30 11:49:00 -- 还是没调出来
用的这些代码 Dim g As New GroupTableBuilder("汇总物耗表", DataTables("物耗总表")) g.Groups.AddDef("代号") g.Groups.AddDef("规格") g.Totals.AddDef("小合计", "总合计") g.Build() \'生成统计表 DataTables("汇总物耗表").DataCols.Add("名称", Gettype(String), 16) Dim dr As DataRow For Each r As Row In Tables("汇总物耗表").rows dr = DataTables("物耗总表").find("代号=\'" & r("代号") & " \' and 规格=\'" & r("规格") & " \'") r("名称") = dr("名称") Next MainTable = Tables("汇总物耗表") 只是第一行显示 出来了,并且代码也报错了 |
||||
-- 作者:有点蓝 -- 发布时间:2021/6/30 12:01:00 -- 那是因为数据规格有空值,或者空字符串,数据不一致导致的问题 DataTables("汇总物耗表").DataCols.Add("名称", Gettype(String), 16) Dim dr As DataRow For Each r As Row In Tables("汇总物耗表").rows If r.IsNull("规格") OrElse r("规格") = "" dr = DataTables("物耗总表").find("代号=\'" & r("代号") & "\' and (规格 is null or 规格=\'\')") Else dr = DataTables("物耗总表").find("代号=\'" & r("代号") & "\' and 规格=\'" & r("规格") & "\'") End If If dr IsNot Nothing Then r("名称") = dr("名称") End If Next |
||||
-- 作者:mybx -- 发布时间:2021/6/30 12:07:00 -- 成功了,非常感谢,确实是空行的问题,不好意思,不太懂,谢谢!非常完美! |