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


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

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

帅哥哟,离线,有人找我吗?
有点色
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 11:40:00 [显示全部帖子]

 回复11楼,你表A的数据有问题。检查是否有【板块、行程】这样的数据

[此贴子已经被作者于2017/6/21 11:39:48编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 12:09:00 [显示全部帖子]

没有数据的。是不是有重复数据?根据板块、编号不能唯一确定?

 

For Each ary() As String In dt1.GetValues("板块|编号", "")
    Dim drs As List(Of DataRow) = dt1.Select("板块 = '" & ary(0) & "' And 编号 = '" & ary(1) & "'")
 
增加好几行的情况,不应该,是不是你重复执行了代码?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 14:26:00 [显示全部帖子]

以下是引用bootes29在2017/6/21 12:24:00的发言:
但是,是否还得加一句判断,如果 板块/编号 一致,后面不一致,要提示修改编号,不然,后面的数据就会丢失?

 

你区别每一个不同的条件是什么?如果有重复的行,如何处理?


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/21 14:33:00 [显示全部帖子]

 备注的问题

 

Dim dt1 As DataTable = DataTables("表A")
Dim dt2 As DataTable = DataTables("表B")
dt2.DataRows.Clear
Dim remark As String = ""
For Each ary() As String In dt1.GetValues("板块|编号", "", "_Sortkey")
    Dim drs As List(Of DataRow) = dt1.Select("板块 = '" & ary(0) & "' And 编号 = '" & ary(1) & "'", "_sortkey")
    Dim ndr As DataRow = dt2.AddNew
    ndr("板块") = ary(0)
    ndr("编号") = ary(1)
    Dim str1 As String = ""
    If drs.count > 0 Then
        If drs(0)("备注") > "" AndAlso drs(0)("备注") <> "同上" Then
            remark = drs(0)("备注")
        End If

        ndr("成人价") = drs(0)("价格")
        ndr("发团情况") = drs(0)("发团日期")
        ndr("进店数") = drs(0)("进店数")
        ndr("地接名称") = drs(0)("地接名称")
        ndr("备注") = remark
        str1 &= drs(0)("线路名称")
       
    End If
    If drs.count > 1 Then
        ndr("儿童价") = drs(1)("价格")
        ndr("年龄大组") = drs(1)("发团日期")
        str1 &= "," & drs(1)("线路名称")
    End If
    If drs.count > 2 Then
        ndr("房差") = drs(2)("价格")
        str1 &= "," & drs(2)("线路名称")
    End If
    If drs.count > 3 Then
        str1 &= "," & drs(3)("线路名称")
    End If
   
   
    ndr("线路名称") = str1
Next


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


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

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


 回到顶部