Foxtable(狐表)用户栏目专家坐堂 → 关于两个表数据的整理转换


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

主题:关于两个表数据的整理转换

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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
关于两个表数据的整理转换  发帖心情 Post By:2017/6/21 10:45:00 [只看该作者]

各位老师,我又来给大家添麻烦了,如下图所示,我想把表a的内容,按照要求转换到表b

图片点击可在新窗口打开查看此主题相关图片如下:产品输入.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/21 10:45:00 [只看该作者]

这个狐表

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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/21 10:46:00 [只看该作者]

table呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:实验录入产品1.table


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 10:51:00 [只看该作者]

是不是固定3行数据填入?是否按照顺序填写,顺序是否固定?

 

 

[此贴子已经被作者于2017/6/21 10:50:51编辑过]

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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/21 10:54:00 [只看该作者]

线路名称有的会有四行,他的行数由编号决定,编号有几行,他就几行。
成人价格都是第一行  儿童 第二行 房差第三行 基本一致

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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/21 10:57:00 [只看该作者]

发团 都是第一行 是发团情况 第二行 是年龄大组

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 10:58:00 [只看该作者]

 参考代码

 

Dim dt1 As DataTable = DataTables("表A")
Dim dt2 As DataTable = DataTables("表B")
For Each ary() As String In dt1.GetValues("板块|编号", "")
    Dim drs As List(Of DataRow) = dt1.Select("板块 = '" & ary(0) & "' And 编号 = '" & ary(1) & "'")
    Dim ndr As DataRow = dt2.AddNew
    ndr("板块") = ary(0)
    ndr("线路名称") = drs(0)("线路名称") & "," & drs(1)("线路名称") & "," & drs(2)("线路名称")
    ndr("编号") = ary(1)
    ndr("成人价") = drs(0)("价格")
    ndr("儿童价") = drs(1)("价格")
    ndr("房差") = drs(2)("价格")
Next


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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/21 11:08:00 [只看该作者]

@有点色  太牛了 老师  真是只要是手工 能操作的 狐表都可以去用软件实现


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


加好友 发短信
等级:童狐 帖子:214 积分:1386 威望:0 精华:0 注册:2017/5/13 15:13:00
  发帖心情 Post By:2017/6/21 11:17:00 [只看该作者]

用了实验的表,没有问题,用了真实的表,报错
图片点击可在新窗口打开查看此主题相关图片如下:报错.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 11:22:00 [只看该作者]

Dim dt1 As DataTable = DataTables("表A")
Dim dt2 As DataTable = DataTables("表B")
For Each ary() As String In dt1.GetValues("板块|编号", "")
    Dim drs As List(Of DataRow) = dt1.Select("板块 = '" & ary(0) & "' And 编号 = '" & ary(1) & "'")
    Dim ndr As DataRow = dt2.AddNew
    ndr("板块") = ary(0)
    ndr("编号") = ary(1)
    Dim str1 As String = ""
    If drs.count > 0 Then
        ndr("成人价") = drs(0)("价格")
        str1 &= drs(0)("线路名称")
    End If
    If drs.count > 1 Then
        ndr("儿童价") = drs(1)("价格")
        str1 &= "," & drs(1)("线路名称")
    End If
    If drs.count > 2 Then
        ndr("房差") = drs(2)("价格")
        str1 &= "," & drs(2)("线路名称")
    End If
    ndr("线路名称") = str1
Next


 回到顶部
总数 27 1 2 3 下一页