Foxtable(狐表)用户栏目专家坐堂 → 复制行过程中合并参数系统的行


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

主题:复制行过程中合并参数系统的行

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
复制行过程中合并参数系统的行  发帖心情 Post By:2016/12/31 11:17:00 [只看该作者]

老师。下面的代码是从A表向B表复制行的代码,想实现这样的功能,把:品名大类,品名小类,成品克重,成品门幅,颜色染色订单号,色号。相同的行合并成一行,怎么在里面加代码?谢谢!
If _userroles.Contains("计划配缸") = True OrElse _usergroup = "原料坯布仓库" Then
    If Tables(e.Form.Name & "_table2").current IsNot Nothing Then
        For Each r1 As Row In Tables(e.Form.Name & "_table2").Rows
            Dim Cols1() As String = {"订单明细编号","销售人员","客户","客户编号","品名大类","品名小类","成品克重","成品门幅","颜色","染色订单号","色号","投坯","使用坯布规格","卡注要求"}
            Dim Cols2() As String = {"订单明细编号对外","销售人员","客户","客户编号","品名大类","品名小类","成品克重","成品门幅","颜色","染色订单号","色号","计划重量","坯布规格","卡注"}
            If r1("下一工序").Contains("配缸") = True AndAlso DataTables("计划配缸通知单").sqlfind("订单明细编号对外 = '" & r1("订单明细编号") & "'") Is Nothing Then
                Dim r2 As Row = Tables("计划配缸通知单").addnew()
                For i As Integer = 0 To Cols1.length -1
                    If r1.Isnull(Cols1(i)) = False Then
                        r2(Cols2(i)) = r1(Cols1(i))
                    End If
                Next
                r2.save
            End If
        Next
        Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
        tab.Selectedpage = tab.TabPages("计划配缸")
    End If
Else
    msgbox("您没有权限操作!")
End If

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/12/31 11:28:00 [只看该作者]

不好意思,标题写错了,应该是:复制行过程中合并参数相同的行

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


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

If _userroles.Contains("计划配缸") = True OrElse _usergroup = "原料坯布仓库" Then
    If Tables(e.Form.Name & "_table2").current IsNot Nothing Then
        For Each r1 As Row In Tables(e.Form.Name & "_table2").Rows
            Dim Cols1() As String = {"订单明细编号","销售人员","客户","客户编号","品名大类","品名小类","成品克重","成品门幅","颜色","染色订单号","色号","使用坯布规格","卡注要求"}
            Dim Cols2() As String = {"订单明细编号对外","销售人员","客户","客户编号","品名大类","品名小类","成品克重","成品门幅","颜色","染色订单号","色号","坯布规格","卡注"}
            If r1("下一工序").Contains("配缸") = True AndAlso DataTables("计划配缸通知单").sqlfind("订单明细编号对外 = '" & r1("订单明细编号") & "'") Is Nothing Then
                Dim r2 As DataRow = DataTables("计划配缸通知单").find("品名大类 = '" & r1("品名大类") & "' and 品名小类 = '" & r1("品名小类") & "' and 成品克重 = '" & r1("成品克重") & "'")
                If r2 Is Nothing Then r2 = DataTables("计划配缸通知单").addnew
                For i As Integer = 0 To Cols1.length -1
                    If r1.Isnull(Cols1(i)) = False Then
                        r2(Cols2(i)) = r1(Cols1(i))
                    End If
                Next
                r2("计划重量") += r1("投坯")
                r2.save
            End If
        Next
        Dim tab As WinForm.TabControl = e.Form.Controls("TabControl1")
        tab.Selectedpage = tab.TabPages("计划配缸")
    End If
Else
    msgbox("您没有权限操作!")
End If
[此贴子已经被作者于2016/12/31 11:38:05编辑过]

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


加好友 发短信
等级:三尾狐 帖子:705 积分:4897 威望:0 精华:0 注册:2016/5/17 12:03:00
  发帖心情 Post By:2016/12/31 12:10:00 [只看该作者]

If r2 Is Nothing Then r2 = DataTables("计划配缸通知单").addnew
如果r2 isnot nothing 代码会怎么执行,上面的代码最后没有end,有一点看不懂

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


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

 如果r2存在,就直接用那个查到的r2,否则,就新增一行赋值给r2


 回到顶部