以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  统计汇总求助  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=10215)

--  作者:实话实说
--  发布时间:2011/5/25 22:28:00
--  统计汇总求助

这是成品出仓统计汇总

If Forms("成品出仓统计汇总").Opened Then
    Dim g As New CrossTableBuilder("成品出仓统计汇总", DataTables("成品出仓"))
    g.HGroups.AddDef("产品分类")
    g.HGroups.AddDef("型号")
    g.HGroups.AddDef("规格")
    g.HGroups.AddDef("用户")
    \'g.VGroups.AddDef("接单日期",DateGroupEnum.Year,"{0}年")
    g.VGroups.AddDef("出仓日期", "{0}月份")
    g.Totals.AddDef("出仓数量", "出仓数量")
    g.OrderByTotal = True
    g.HorizontalTotal = True
    g.Filter = "出仓日期 Is Not Null"
    g.Build()
End If

Tables("成品出仓统计汇总_成品出仓统计汇总表").DataSource = DataTables("成品出仓统计汇总")

 

以下是截图



此主题相关图片如下:snap1.jpg
按此在新窗口浏览图片

 

我希望1、控制临时汇总表的列宽(产品分类、型号、规格等);2、月份改为201105显示(2011年5月)


--  作者:狐狸爸爸
--  发布时间:2011/5/25 22:49:00
--  

1、SetColVisibleWidth

2、g.VGroups.AddDef("出仓日期", "2011{0}月")

[此贴子已经被作者于2011-5-25 22:48:55编辑过]

--  作者:czy
--  发布时间:2011/5/25 23:16:00
--  

1、http://help.foxtable.com/topics/1775.htm

2、

老六的方法是在已知年份的基础上,如果不确定可以在交叉统计代码后面加上下面的代码试试:

 

For Each dc As DataCol In DataTables("统计表1").DataCols
    If dc.Caption.IndexOf("年_")>= 0 Then
        DataTables("统计表1").DataCols(dc.Name).Caption = dc.Caption.Replace("年_","年") & "月"
        DataTables("统计表1").BuildHeader()
    End If
Next

[此贴子已经被作者于2011-5-25 23:19:12编辑过]

--  作者:实话实说
--  发布时间:2011/5/25 23:22:00
--  

1、在按月汇总的临时表中1-12月用SetColVisibleWidth怎么设置?

2、我已在表中已将出仓日期转换为201101-201112月份模式,我希望在临时汇总表中显示201101,而不是20111月


--  作者:czy
--  发布时间:2011/5/25 23:30:00
--  

1、

Dim s As String
For Each c As Col In Tables("统计表1").Cols
    s = s & c.name & "|80|"
Next
Tables("统计表1").SetColVisibleWidth(s)

 

2、按上面的方法可以任意改


--  作者:实话实说
--  发布时间:2011/5/25 23:51:00
--  

月份问题已解决,列宽的问题还是有些不清楚。1楼的图中已列出字段,麻烦帮我写一下。不好意思,先谢了。


--  作者:czy
--  发布时间:2011/5/26 0:21:00
--  

1、

Dim s As String
For Each c As Col In Tables("成品出仓统计汇总_成品出仓统计汇总表").Cols
    s = s & c.name & "|80|" \'统一设置列宽为80
Next
Tables("成品出仓统计汇总_成品出仓统计汇总表").SetColVisibleWidth(s) \'批量设置列宽

 

2、

Dim s As String
For Each c As Col In Tables("成品出仓统计汇总_成品出仓统计汇总表").Cols
    If c.name = "产品分类" Then \'如果列名称是产品分类
        s = s & c.name & "|100|" \'个性化设置列宽为100
    Else
        s = s & c.name & "|80|" \'统一设置列宽为80
    End If
Next
Tables("成品出仓统计汇总_成品出仓统计汇总表").SetColVisibleWidth(s.Trim("|")) \'批量设置列宽

 

3、

Tables("成品出仓统计汇总_成品出仓统计汇总表").AutoSizeCols


--  作者:e-png
--  发布时间:2011/5/26 0:25:00
--  

指定列宽Tables("成品出仓统计汇总_成品出仓统计汇总表").SetColVisibleWidth("产品分类|40|型号|25|规格|20|用户|60|5月份|30")   \'这里面数字可以根据显示效果增减

 

自动列宽Tables("成品出仓统计汇总_成品出仓统计汇总表").AutoSizeCols()

 

你都老狐狸了啊·····