以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 将表B的数据生成表A的格式 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65881) |
||||
-- 作者:布莱克朱 -- 发布时间:2015/3/24 22:11:00 -- 将表B的数据生成表A的格式 将表B的数据生成表A的格式
|
||||
-- 作者:y2287958 -- 发布时间:2015/3/24 22:20:00 -- 这样不行吗? Dim dr1 As DataRow For Each dr As DataRow In DataTables("表B").DataRows dr1 = DataTables("表A").AddNew dr1("名称") = dr("名称") dr1("工序") = "抛光" dr1("车间") = dr("抛光_车间") dr1("班组") = dr("抛光_班组") dr1 = DataTables("表A").AddNew dr1("名称") = dr("名称") dr1("工序") = "打磨" dr1("车间") = dr("打磨_车间") dr1("班组") = dr("打磨_班组") Next |
||||
-- 作者:布莱克朱 -- 发布时间:2015/3/24 22:27:00 -- 不行 我现在写的是死的 但是实际表B是动态的 |
||||
-- 作者:有点酸 -- 发布时间:2015/3/24 22:37:00 -- 老朱,既然是编码,就没有死活之说的: Dim dtb As New DataTableBuilder("结果") dtb.AddDef("名称", Gettype(String), 32) For Each gx As String In DataTables("表A").GetValues("工序") dtb.AddDef(gx & "_车间", Gettype(String), 32) dtb.AddDef(gx & "_班组", Gettype(String), 32) Next dtb.Build() For Each r1 As DataRow In DataTables("表A").dataRows Dim r2 As DataRow r2 = DataTables("结果").Find("名称 = \'" & r1("名称") & "\'") If r2 Is Nothing Then r2 = DataTables("结果").AddNew() End If r2("名称") = r1("名称") r2(r1("工序") & "_车间") = r1("车间") r2(r1("工序") & "_班组") = r1("班组") Next [此贴子已经被作者于2015/3/24 22:37:43编辑过]
|
||||
-- 作者:blackzhu -- 发布时间:2015/3/25 7:46:00 -- 老大 你搞错了吧 反了,我要把表B的数据更新到表A的格式,不是要把表A的格式写成表B的格式 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2015/3/25 8:14:00 -- 惭愧,我读书时容易看错题,总是考不出高分,老了还是这样。 反过来还是一样:
DataTables("表A").DataRows.Clear() |
||||
-- 作者:blackzhu -- 发布时间:2015/3/25 8:21:00 -- 因为读书不好 所以我写不出比较高深的代码 我试试 |
||||
-- 作者:blackzhu -- 发布时间:2015/3/25 8:25:00 -- 可以了,谢谢! 我写的代码 一直 产生了两行数据.这次学会了处理方式了 [此贴子已经被作者于2015/3/25 8:25:01编辑过]
|
||||
-- 作者:blackzhu -- 发布时间:2015/3/25 8:40:00 -- 还是论坛好 立马解决问题 写了个函数搞定! |