以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教垂直表和水平表的转换问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186460) |
||||
-- 作者:13315253800 -- 发布时间:2023/5/5 11:23:00 -- 请教垂直表和水平表的转换问题 根据帮助文件,下来代码将垂直表转换成水平表。 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:批次列中的期数不固定,总金额能用代码实现吗? 敬请蓝老师指导一下,谢谢! |
||||
-- 作者:有点蓝 -- 发布时间:2023/5/5 11:31:00 -- 表结构和数据截图看看 |
||||
-- 作者:13315253800 -- 发布时间:2023/5/5 12:27:00 -- 蓝老师我做了一个表,请您看一下 |
||||
-- 作者:13315253800 -- 发布时间:2023/5/5 12:28:00 -- 上传
|
||||
-- 作者:有点蓝 -- 发布时间:2023/5/5 13:42:00 -- 参考这里示例四:http://www.foxtable.com/webhelp/topics/2394.htm。其实直接做个交叉统计即可 |