以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  垂直表转换水平表出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153803)

--  作者:tld
--  发布时间:2020/8/24 0:32:00
--  垂直表转换水平表出错
老师好。垂直表转换水平表出错。请您帮忙看看错在哪了。谢谢
图中,希望上表转换为下表的格式。

图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

我的代码如下:

Dim dtb As New DataTableBuilder("表B")
dtb.AddDef("试样编号", Gettype(String), 32)
dtb.AddDef("fid", Gettype(String), 32)
For Each v As String In DataTables("检测记录明细").GetValues("参数名称")
    dtb.AddDef(v & "_值" , Gettype(String),50)
    dtb.AddDef(v & "_标准值" , Gettype(String),50)
Next


dtb.Build()
For Each v As String() In DataTables("检测记录明细").GetValues("Fid|试样编号")

    Dim dr1 As DataRow = DataTables("表B").AddNew()
    dr1("Fid")= v(0)
    dr1("试样编号") = v(1)
    
    For Each dr2 As DataRow In DataTables("检测记录明细").Select("[试样编号] = \'" & v(1) & "\'and [fid] = \'" & v(0) & "\'")
        dr1(dr2(v & "_值")) = dr2("字符值")
        dr1(dr2(v & "_标准值")) = dr2("标准值")

    Next
Next
MainTable = Tables("表B")

[此贴子已经被作者于2020/8/24 0:33:44编辑过]

--  作者:有点蓝
--  发布时间:2020/8/24 8:43:00
--  
dr1(dr2("参数名称") & "_值") = dr2("字符值")