Foxtable(狐表)用户栏目专家坐堂 → 将表B的数据生成表A的格式


  共有3030人关注过本帖树形打印复制链接

主题:将表B的数据生成表A的格式

帅哥哟,离线,有人找我吗?
布莱克朱
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
将表B的数据生成表A的格式  发帖心情 Post By:2015/3/24 22:11:00 [只看该作者]

将表B的数据生成表A的格式

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.table




 回到顶部
帅哥,在线噢!
y2287958
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:4633 积分:33809 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2015/3/24 22:27:00 [只看该作者]

不行 我现在写的是死的 但是实际表B是动态的

 回到顶部
帅哥哟,离线,有人找我吗?
有点酸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By: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
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/3/25 7:46:00 [只看该作者]

老大 你搞错了吧 反了,我要把表B的数据更新到表A的格式,不是要把表A的格式写成表B的格式



 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/3/25 8:14:00 [只看该作者]

惭愧,我读书时容易看错题,总是考不出高分,老了还是这样。

反过来还是一样:

 

DataTables("表A").DataRows.Clear()
For Each dr1 As DataRow In DataTables("表B").DataRows
    For Each dc As DataCol In DataTables("表B").DataCols
        Dim pts() As String = dc.Name.Split("_")
        If pts.Length = 2 Then
            If pts(1) = "车间" Then
                   Dim dr2 As DataRow = DataTables("表A").AddNew()
                    dr2("名称") = dr1("名称")
                    dr2("工序") = pts(0)
                    dr2("车间") = pts(1)
                    dr2("班组") = dr1(pts(0) & "_" & "班组")
            End If
        End If
    Next
Next


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/3/25 8:21:00 [只看该作者]

因为读书不好  所以我写不出比较高深的代码 我试试

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/3/25 8:25:00 [只看该作者]

可以了,谢谢! 我写的代码 一直 产生了两行数据.这次学会了处理方式了
[此贴子已经被作者于2015/3/25 8:25:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2015/3/25 8:40:00 [只看该作者]

还是论坛好 立马解决问题  写了个函数搞定!

 回到顶部