根据帮助文件,下来代码将垂直表转换成水平表。
Dim dtb As New
DataTableBuilder("表B")
dtb.AddDef("合同编号", GetType(String), 10)
dtb.AddDef("物料编号", GetType(String), 10)
For Each v As String In DataTables("物料表").GetValues("批次")
dtb.AddDef(v, GetType(Double))
Next
dtb.Build()
For Each v As String() In DataTables("物料表").GetValues("合同编号|物料编号")
Dim dr1 As
DataRow = DataTables("表B").AddNew()
dr1("合同编号") =
v(0)
dr1("物料编号") =
v(1)
For Each dr2 As
DataRow In
DataTables ("物料表").Select("合同编号 = '" & v(0) & "' And 物料编号 = '" & v(1) & "'")
dr1(dr2("批次")) = dr2("金额")
' dr1(dr2("批次"))
= dr2("数量")
Next
Next
'DataTables("表B").DataCols.Add("总金额", GetType(Double), "[第01期] + [第02期] + [第03期]
+ [第04期] + [第05期]"……)
MainTable = Tables("表B")
我的问题1是:水平方向的每一期下,有“数量”和“金额”,如“第01期-数量”“ 第01期-金额”,上面的代码如何修改一下?
问题2:批次列中的期数不固定,总金额能用代码实现吗?
敬请蓝老师指导一下,谢谢!