以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求教]代码修改-行转列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=136784)

--  作者:hcfbehero
--  发布时间:2019/6/21 15:00:00
--  [求教]代码修改-行转列
版主,我分组统计了图一,然后用行列转换代码生成图二,但是那个泵工的姓名(例如:杨坤怀,熊寿春,等),不知道怎么提到图二的第二列中,请帮忙看下代码,
图一

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190621145225.png
图片点击可在新窗口打开查看
图二

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190621145516.png
图片点击可在新窗口打开查看
代码如下:
Dim g As New GroupTableBuilder("统计表2", DataTables("泵人档案"))
g.Groups.AddDef("泵工基础工资_年月","年月")
g.Totals.AddDef("泵工基础工资_杨坤怀")
g.Totals.AddDef("泵工基础工资_熊寿春")
g.Totals.AddDef("泵工基础工资_袁文杰")
g.Totals.AddDef("泵工基础工资_田进军")
g.Totals.AddDef("泵工基础工资_董泽明")
g.Totals.AddDef("泵工基础工资_许永明")
g.Totals.AddDef("泵工基础工资_董培")
g.Totals.AddDef("泵工基础工资_许银朋")
g.Totals.AddDef("泵工基础工资_杨永照")
g.Totals.AddDef("泵工基础工资_张建聪")
g.Totals.AddDef("泵工基础工资_张磊")
g.Totals.AddDef("泵工基础工资_任伟君")
g.Totals.AddDef("泵工基础工资_李建伟")
g.Totals.AddDef("泵工基础工资_杨昆奇")
g.Totals.AddDef("泵工基础工资_毕文涛")
g.Totals.AddDef("泵工基础工资_张进标")
g.Totals.AddDef("泵工基础工资_杨士民")
g.Totals.AddDef("泵工基础工资_李旋")
g.Totals.AddDef("泵工基础工资_杨建荣")
g.Totals.AddDef("泵工基础工资_毕忠诚")
g.Totals.AddDef("泵工基础工资_李正栋")
g.Filter = "[泵工基础工资_年月] = 201905"
Tables("泵送明细_Table8").DataSource = g.BuildDataSource()

DataTables("泵送明细_Table6").DataRows.Clear()
For Each adr As DataRow In DataTables("泵送明细_Table8").DataRows
    If adr.IsNull("年月") = False Then
        For Each adc As DataCol In DataTables("泵送明细_Table8").DataCols
            If adc.Name.StartsWith("泵工基础工资") AndAlso adr.IsNull(adc.Name) = False Then
                Dim bdr As DataRow = DataTables("泵送明细_Table6").AddNew()
                bdr("第一列") = adr("年月")
                \'bdr("第二列") = adr("")
                bdr("第三列") = adr(adc.Name)
            End If
        Next
    End If
Next
MainTable = Tables("泵送明细_Table6")

With DataTables("泵送明细_Table6")
    .DataCols("第一列").Caption = "年月"
    .DataCols("第三列").Caption = "基础工资"
    .BuildHeader()
End With


--  作者:有点甜
--  发布时间:2019/6/21 15:36:00
--  
For Each adr As DataRow In DataTables("泵送明细_Table8").DataRows
    If adr.IsNull("年月") = False Then
        For Each adc As DataCol In DataTables("泵送明细_Table8").DataCols
            If adc.Name.StartsWith("泵工基础工资") AndAlso adr.IsNull(adc.Name) = False Then
                Dim bdr As DataRow = DataTables("泵送明细_Table6").AddNew()
                bdr("第一列") = adr("年月")
                bdr("第二列") = adc.Name.split("_")(1)
                bdr("第三列") = adr(adc.Name)
            End If
        Next
    End If
Next

--  作者:hcfbehero
--  发布时间:2019/6/21 16:27:00
--  
谢谢,这个问题解决了。