以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  行列转换,如何实现?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=136714)

--  作者:fox-man
--  发布时间:2019/6/19 16:55:00
--  行列转换,如何实现?
如附件所示,如何实现?
图片点击可在新窗口打开查看此主题相关图片如下:行列互转.png
图片点击可在新窗口打开查看

--  作者:fox-man
--  发布时间:2019/6/19 17:00:00
--  
http://www.foxtable.com/webhelp/scr/2965.htm  用帮助中介绍的方法,达不到想要的结果.
--  作者:有点甜
--  发布时间:2019/6/19 17:44:00
--  

参考代码

 

Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("name", Gettype(String), 32)
For Each v As String In DataTables("表A").GetValues("id")
    dtb.AddDef("列" & v, Gettype(String), 32, "", v)
Next
dtb.Build()
For Each v As String In DataTables("表A").GetValues("name")
    Dim dr1 As DataRow = DataTables("表B").AddNew()
    dr1("name") = v
    For Each dr2 As DataRow In DataTables("表A").Select("name = \'" & v & "\'")
       dr1("列" & dr2("id")) = dr2("value")
    Next
Next
MainTable = Tables("表B")