以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  垂直分组由小写换成大写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78424)

--  作者:kaituozhe
--  发布时间:2015/12/9 7:53:00
--  垂直分组由小写换成大写

Dim b As New CrossTableBuilder("统计表5",dtb1)
b.HGroups.AddDef("部门编号") \'添加客户列用于水平分组
b.HGroups.AddDef("职员编号") \'添加客户列用于水平分组
b.VGroups.AddDef("发生日期",DateGroupEnum.Quarter,"第{0}季度") \'添加产品列用于垂直分组
b.Totals.AddDef("销售金额") \'添加数量列用于统计
b.Build \'生成统计表
Tables("销售汇总_Table1").DataSource = b

上述代码是在窗口建一个统计表,现在的问题是 标题第1 季度等怎么能变成 第一季度 ,2、由于部门编号和职员编号具有唯一性所以选择这两作为分组,但是显示的时怎么通过去职员档案提取相应的部门名称和职员姓名并相应转换呢  


--  作者:大红袍
--  发布时间:2015/12/9 9:18:00
--  

1、生成后,循环每一列,满足条件的,就转换成你对应的标题。直接改也行

 

http://www.foxtable.com/help/topics/1275.htm

 

 

2、生成以后,动态增加列,然后循环每一行去查询。

 

或者是,用sql语句先查找到,再交叉统计

 

http://www.foxtable.com/help/topics/2307.htm

 


--  作者:kaituozhe
--  发布时间:2015/12/9 11:51:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:预算管理新.foxdb


--  作者:kaituozhe
--  发布时间:2015/12/9 12:38:00
--  

上述例子是在窗口建一个统计表,现在的问题是 标题第1 季度等怎么能变成 第一季度 ,2、由于部门编号和职员编号具有唯一性所以选择这两作为分组,但是显示的时怎么通过去职员档案提取相应的部门名称和职员姓名并相应转换呢  


--  作者:大红袍
--  发布时间:2015/12/9 14:16:00
--  
看2楼啊,很详细了啊。
--  作者:大红袍
--  发布时间:2015/12/9 14:31:00
--  

Dim t As Table = Tables("销售汇总_Table1")
t.DataSource = b.BuildDataSource
For Each c As Col In t.Cols
    If c.Caption = "第4季度" Then
        c.Caption = "第四季度"
    ElseIf c.Caption = "第三季度" Then
        c.Caption = "第三季度"
    End If
Next

t.DataTable.BuildHeader

For Each r As Row In t.Rows
    Dim fdr As DataRow = DataTables("销售预算").find("部门编号 = \'" & r("部门编号") & "\' and 职员编号 = \'" & r("职员编号") & "\'")
    If fdr IsNot Nothing Then
        r("部门编号") = fdr("部门编号")
    End If
Next