以文本方式查看主题

-  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=24528)

--  作者:laoshu4569
--  发布时间:2012/10/16 14:53:00
--  [原创]统计数据
如图表中的 数据  我希望最后的统计报表的 结果  
姓名       值班时间    值班种类           金额
李小虎    狻,得得     白班,夜班       300


这个我知道我可以按姓名的分组 进行统计算出 金额的总数  可是 怎么才能把这个人的多个值班时间和 值班种类 分别 加在各自的
图片点击可在新窗口打开查看此主题相关图片如下:未命名11.jpg
图片点击可在新窗口打开查看
单元格中 
[此贴子已经被作者于2012-10-16 15:10:41编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/10/16 15:03:00
--  

输入几行测试数据,然后将这个表传上来,否则想帮你还得设计一个表。

要想快速获得准确答案,就应该尽可能方便想帮助你的人。


--  作者:laoshu4569
--  发布时间:2012/10/16 15:10:00
--  
已上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:lin_hailun
--  发布时间:2012/10/16 15:36:00
--  
 代码这样写,楼主自己定义一个按钮去执行吧。

Dim nt As New DataTableBuilder("统计表")
nt.AddDef("姓名", Gettype(String))
nt.AddDef("值班时间", Gettype(String))
nt.AddDef("值班种类", Gettype(String))
nt.AddDef("金额", Gettype(Double))
nt.Build()

Dim t As Table = Tables("统计表")
Dim tb As DataTable = DataTables("表A")

Dim names As List(Of String) = tb.GetUniqueValues("值班员 is not null", "值班员")
For Each name As String In names
    Dim drs As List(Of DataRow) = tb.Select("值班员 = \'" & name & "\'")
    Dim r As Row = t.AddNew()
    For Each dr As DataRow In drs
        r("值班时间") = r("值班时间") & "," & dr("值班时间")
        r("值班种类") = r("值班种类") & "," & dr("值班种类")
        r("金额") = r("金额") + dr("价格")
    Next
    r("姓名") = name
    r("值班时间") = r("值班时间").Trim(",")
    r("值班种类") = r("值班种类").Trim(",")
Next

MainTable = t

--  作者:laoshu4569
--  发布时间:2012/10/16 15:37:00
--  
恩恩 我去试试
--  作者:laoshu4569
--  发布时间:2012/10/16 15:48:00
--  
如果想要用报表的形式 统计出来 可以吗?


--  作者:lin_hailun
--  发布时间:2012/10/16 16:00:00
--  
用报表统计也要写代码,也比较麻烦。

--  作者:laoshu4569
--  发布时间:2012/10/16 16:04:00
--  
能帮我看看 怎么写吗?


--  作者:lin_hailun
--  发布时间:2012/10/16 16:26:00
--  
 我也不知道你要生成怎样的报表哦……

 生成表以后,再导出成报表不可以么?
[此贴子已经被作者于2012-10-16 16:26:27编辑过]