以文本方式查看主题

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

--  作者:有点甜
--  发布时间:2019/4/19 10:18:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2965.htm

 


--  作者:有点甜
--  发布时间:2019/4/19 11:19:00
--  
以下是引用nuoyan88在2019/4/19 10:58:00的发言:
这个帮助我看了,前面的会弄,就是年和月那里不会(这个是自动生成的,对应月份下面的值是从表A中带出来来的),请帮忙看看,谢谢

 

循环1到12,然后生成列不就可以了?

 

 


--  作者:有点蓝
--  发布时间:2019/4/19 23:14:00
--  
会不会有多个月,多个月一个列标题怎么显示呢
--  作者:有点蓝
--  发布时间:2019/4/19 23:19:00
--  
这个意思?

Dim dtb As New DataTableBuilder("报表图表")
dtb.AddDef("线别", Gettype(String), 255)
dtb.AddDef("成品描述", Gettype(String), 255)
dtb.AddDef("项目", Gettype(String), 255)
Dim Arys As List(Of String())  = DataTables("质量月度报表").GetValues("年|月")
For Each ar As String() In Arys
    dtb.AddDef(ar(0) & "_" & ar(1), Gettype(Double))
Next
dtb.Build()
Dim xms() As String = {"来料不良率","加工不良率","设备不良率","调机不良率"}
For Each dr1 As DataRow In DataTables("质量月度报表").DataRows
    For Each xm As String In xms
        Dim dr2 As DataRow = DataTables("报表图表").AddNew()
        dr2("线别") = dr1("线别")
        dr2("成品描述") = dr1("成品描述")
        dr2("项目") = xm
        dr2(dr1("年") & "_" & dr1("月")) = dr1(xm)
    Next
Next
MainTable = Tables("报表图表")

--  作者:有点蓝
--  发布时间:2019/4/20 9:19:00
--  
Dim dtb As New DataTableBuilder("报表图表")
dtb.AddDef("线别", Gettype(String), 255)
dtb.AddDef("成品描述", Gettype(String), 255)
dtb.AddDef("项目", Gettype(String), 255)
For ii as integer = 1 to 12
    dtb.AddDef(date.year & "_" & i, Gettype(Double))
Next
dtb.Build()

--  作者:有点蓝
--  发布时间:2019/4/20 9:29:00
--  
很简单的错误,自己判断改正。
--  作者:有点蓝
--  发布时间:2019/4/20 11:55:00
--  
For i as integer = 1 to 12
--  作者:有点蓝
--  发布时间:2019/4/20 13:28:00
--  
dtb.AddDef(Date.Today.Year & "_" & i, Gettype(Double))