Foxtable(狐表)用户栏目专家坐堂 → [求助]项目数据批量拆分


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

主题:[求助]项目数据批量拆分

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


加好友 发短信
等级:三尾狐 帖子:621 积分:5549 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/14 9:58:00 [只看该作者]

dr = DataTables("流转记录表").Find("样品编号 = '" & Ary(0) & "' and 流转项目 = '" & Values(i) & "' and 检测项目 = '" & Ary1(0) & "' and 检测依据 = '" & Ary1(1) & "' and 检测部门 = '" & Ary1(2) & "' and 检测费用 = '" & Ary1(3) & "' and 费用说明 = '" & Ary1(4) &  "'")

 

这条代码就是用来对比拆分的数据是吗?如果列出来的这些都相同才不会继续重复添加?


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/14 10:25:00 [只看该作者]

  理解正确,不过,后面列没必要比较了。因为,前两列就可以确定后面的不同。

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


加好友 发短信
等级:三尾狐 帖子:621 积分:5549 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/23 19:44:00 [只看该作者]

以下是引用lin_hailun在2012-9-13 17:13:00的发言:
第二个问题,参考

http://www.foxtable.com/help/topics/1665.htm
对于选定区域执行下面代码还不是很懂,麻烦高手帮忙看下要怎么改~谢谢啦!


Tables("检测流程流转记录表").StopRedraw
Dim Arys As List(Of String())
Arys = DataTables("样品信息").GetUniqueValues("样品编号 is not null","样品编号","检测项目")
For Each Ary As String() In Arys
    Dim s As String = Ary(1)
    Dim Values() As String = s.Split(",")
    For i As Integer = 0 To Values.Length - 1
        Dim Arys1 As List(Of String())
        Arys1 = DataTables("检测项目").GetUniqueValues("加载流转项目 = '" & Values(i) & "'", "检测项目","检测依据","检测部门","报价费用","费用说明")
        For Each Ary1 As String() In Arys1
            Dim dr As DataRow
            dr = DataTables("检测流程流转记录表").Find("样品编号 = '" & Ary(0) & "' and 加载流转项目 = '" & Values(i) & "'")
            If dr Is Nothing Then
                Dim r As Row = Tables("检测流程流转记录表").AddNew()
                r("样品编号") = Ary(0)
                r("加载流转项目") = Values(i)
                r("检测项目") = Ary1(0)
                r("检测依据") = Ary1(1)
                r("检测部门") = Ary1(2)
                r("报价费用") = Ary1(3)
                r("费用说明") = Ary1(4)
            End If
        Next
    Next
Next
Tables("检测流程流转记录表").ResumeRedraw


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


加好友 发短信
等级:三尾狐 帖子:621 积分:5549 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/24 10:37:00 [只看该作者]

以下是引用lxhmax在2012-9-23 19:44:00的发言:
对于选定区域执行下面代码还不是很懂,麻烦高手帮忙看下要怎么改~谢谢啦!


Tables("检测流程流转记录表").StopRedraw
Dim Arys As List(Of String())
Arys = DataTables("样品信息").GetUniqueValues("样品编号 is not null","样品编号","检测项目")
For Each Ary As String() In Arys
    Dim s As String = Ary(1)
    Dim Values() As String = s.Split(",")
    For i As Integer = 0 To Values.Length - 1
        Dim Arys1 As List(Of String())
        Arys1 = DataTables("检测项目").GetUniqueValues("加载流转项目 = '" & Values(i) & "'", "检测项目","检测依据","检测部门","报价费用","费用说明")
        For Each Ary1 As String() In Arys1
            Dim dr As DataRow
            dr = DataTables("检测流程流转记录表").Find("样品编号 = '" & Ary(0) & "' and 加载流转项目 = '" & Values(i) & "'")
            If dr Is Nothing Then
                Dim r As Row = Tables("检测流程流转记录表").AddNew()
                r("样品编号") = Ary(0)
                r("加载流转项目") = Values(i)
                r("检测项目") = Ary1(0)
                r("检测依据") = Ary1(1)
                r("检测部门") = Ary1(2)
                r("报价费用") = Ary1(3)
                r("费用说明") = Ary1(4)
            End If
        Next
    Next
Next
Tables("检测流程流转记录表").ResumeRedraw
这个问题麻烦各位再帮我看看~谢谢啦~


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/9/24 11:02:00 [只看该作者]

 楼主,这样写代码,如下:

Dim nums As String
For i As Integer = Tables("表A").TopRow To Tables("表A").BottomRow
    nums = nums & Tables("表A").Rows(i)("委托编号") & ","
Next

nums = nums.Trim(",")

Tables("表C").StopRedraw
Dim Arys As List(Of String())
Arys = DataTables("表A").GetUniqueValues("委托编号 in (" & nums & ")", "委托编号","委托项目")

For Each Ary As String() In Arys
    Dim s As String = Ary(1)
    Dim Values() As String = s.split(",")
    For i As Integer = 0 To Values.Length - 1
        Dim Arys1 As List(Of String())
        Arys1 = DataTables("表D").GetUniqueValues("委托项目 = '" & Values(i) & "'", "项目依据","项目明细","明细依据","项目单位")
        For Each Ary1 As String() In Arys1
            Dim dr As DataRow
            dr = DataTables("表C").Find("委托编号 = '" & Ary(0) & "' and 委托项目 = '" & Values(i) & "' and 项目依据 = '" & Ary1(0) & "' and 项目明细 = '" & Ary1(1) & "' and 明细依据 = '" & Ary1(2) & "' and 项目单位 = '" & Ary1(3) & "'")
            If dr Is Nothing Then
                Dim r As Row = Tables("表C").AddNew()
                r("委托编号") = Ary(0)
                r("委托项目") = Values(i)
                r("项目依据") = Ary1(0)
                r("项目明细") = Ary1(1)
                r("明细依据") = Ary1(2)
                r("项目单位") = Ary1(3)
            End If
        Next
    Next
Next
Tables("表C").ResumeRedraw

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


加好友 发短信
等级:三尾狐 帖子:621 积分:5549 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/24 11:26:00 [只看该作者]

非常感谢你给我这么多的帮助~

 回到顶部
总数 16 上一页 1 2