以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  再次请教复合分组问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=69651)

--  作者:HJG_HB950207
--  发布时间:2015/6/8 17:52:00
--  再次请教复合分组问题
职工一览表 姓名,性别,职务,职称。按老师编写如下代码的如下代码编制综合表非常方便。

Dim dt As DataTable = DataTables("职工一览表")
Dim dt2 As DataTable = DataTables("综合分类")
dt2.DataRows.Clear
Dim ss() As String = {"性别","职务"}
For Each lb As String In ss
    Dim dr As DataRow= dt2.AddNew
    dr("分类")="按" & lb
    For Each s As String In dt.GetValues(lb,lb & " is not null")
        dr = dt2.AddNew
        dr("分类")=s
        dr("人数")=dt.Compute("count(姓名)", lb & "=\'" & s & "\'")
    Next
    NEXT
但,现在如果要编制如下复合分组表,请问代码如何修改,再次谢谢了!
   
    分类     人数    其中:男       女
    职务
    职称
     :
     :





--  作者:Bin
--  发布时间:2015/6/8 17:54:00
--  
Dim dt As DataTable = DataTables("职工一览表")
Dim dt2 As DataTable = DataTables("综合分类")
dt2.DataRows.Clear
Dim ss() As String = {"职称","职务"}
For Each lb As String In ss
    Dim dr As DataRow= dt2.AddNew
    dr("分类")="按" & lb
    For Each s As String In dt.GetValues(lb,lb & " is not null")
        dr = dt2.AddNew
        dr("分类")=s
        dr("男人数")=dt.Compute("count(姓名)", lb & "=\'" & s & "\' and 性别=\'男\'")
        dr("女人数")=dt.Compute("count(姓名)", lb & "=\'" & s & "\' and 性别=\'女\'")
    Next
    NEXT

--  作者:HJG_HB950207
--  发布时间:2015/6/8 17:57:00
--  
谢谢,老师如此教后,我虽不懂代码,但依葫芦画瓢,可以OK,这就是此软件好处,谢谢!