帮助中
转换代码为Dim dtb
As New DataTableBuilder("表B")
dtb.AddDef("班级",
Gettype(String), 4)
dtb.AddDef("姓名",
Gettype(String), 10)
dtb.AddDef("科目", Gettype(String),
10)
dtb.AddDef("分数", Gettype(Double))
dtb.Build()
Dim kms()
As
String =
{"语文","数学","英语","物理","化学"}
For Each dr1 As
DataRow In DataTables("成绩表").DataRows
For
Each km As
String
In kms
Dim dr2 As
DataRow =
DataTables("表B").AddNew()
dr2("班级") = dr1("班级")
dr2("姓名") = dr1("姓名")
dr2("科目") = km
dr2("分数") = dr1(km)
Next
Next
MainTable = Tables("表B")
或SQL语句实现
这两种方式水平列都是要用固定值罗列出来,不能像垂直表转成水平表一样用动态代码?
Dim
dtb As New
DataTableBuilder("表B")
dtb.AddDef("姓名",
Gettype(String), 32)
For Each
v As String In DataTables("表A").GetValues("课程")
dtb.AddDef(v, Gettype(Double))
Next
dtb.Build()
For Each v As String In DataTables("表A").GetValues("姓名")
Dim dr1 As
DataRow = DataTables("表B").AddNew()
dr1("姓名") = v
For
Each dr2 As
DataRow
In
DataTables("表A").Select("姓名 = '" & v &
"'")
dr1(dr2("课程")) = dr2("分数")
Next
Next
MainTable = Tables("表B")