Foxtable(狐表)用户栏目专家坐堂 → 自动引用代码整合


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

主题:自动引用代码整合

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


加好友 发短信
等级:童狐 帖子:299 积分:1939 威望:0 精华:0 注册:2011/3/9 18:17:00
自动引用代码整合  发帖心情 Post By:2012/3/8 9:09:00 [只看该作者]

师傅你好:

整合下代码:

If e.DataCol.Name = "订单编号" OrElse e.DataCol.Name = "规格尺寸" Then
    Dim dr As DataRow
       dr = DataTables("铁盘订单").Find("[订单编号] = '" & e.DataRow("订单编号") & "' And [规格尺寸] = '" & e.DataRow("规格尺寸") & "'")
    If dr IsNot Nothing Then 
        e.DataRow("部门") = dr("部门")
        e.DataRow("出口国家") = dr("出口国家")
        e.DataRow("处理要求") = dr("处理要求")
        e.DataRow("出证") = dr("出证")
        e.DataRow("订单数量") = dr("订单数量")
        e.DataRow("交货日期") = dr("交货日期")
    Else
        e.DataRow("部门") = Nothing
        e.DataRow("出口国家") = Nothing
        e.DataRow("处理要求") = Nothing
        e.DataRow("出证") = Nothing
        e.DataRow("订单数量") = Nothing
        e.DataRow("交货日期") = Nothing
    End If
End If
If e.DataCol.Name = "订单编号" OrElse e.DataCol.Name = "规格尺寸" Then
    Dim dr As DataRow
        dr = DataTables("木盘订单").Find("[订单编号] = '" & e.DataRow("订单编号") & "' And [规格尺寸] = '" & e.DataRow("规格尺寸") & "'")
    If dr IsNot Nothing Then 
         e.DataRow("部门") = dr("部门")
        e.DataRow("出口国家") = dr("出口国家")
        e.DataRow("处理要求") = dr("处理要求")
        e.DataRow("出证") = dr("出证")
        e.DataRow("订单数量") = dr("订单数量")
        e.DataRow("交货日期") = dr("交货日期")
    Else
         e.DataRow("部门") = Nothing
        e.DataRow("出口国家") = Nothing
        e.DataRow("处理要求") = Nothing
        e.DataRow("出证") = Nothing
        e.DataRow("订单数量") = Nothing
        e.DataRow("交货日期") = Nothing
    End If
End If

If e.DataCol.Name = "订单编号" OrElse e.DataCol.Name = "规格尺寸" Then
    Dim dr As DataRow
      dr = DataTables("木箱订单").Find("[订单编号] = '" & e.DataRow("订单编号") & "' And [规格尺寸] = '" & e.DataRow("规格尺寸") & "'")
    If dr IsNot Nothing Then '如果找到
        e.DataRow("部门") = dr("部门")
        e.DataRow("出口国家") = dr("出口国家")
        e.DataRow("处理要求") = dr("处理要求")
        e.DataRow("出证") = dr("出证")
        e.DataRow("订单数量") = dr("订单数量")
        e.DataRow("交货日期") = dr("交货日期")
    Else
        e.DataRow("部门") = Nothing
        e.DataRow("出口国家") = Nothing
        e.DataRow("处理要求") = Nothing
        e.DataRow("出证") = Nothing
        e.DataRow("订单数量") = Nothing
        e.DataRow("交货日期") = Nothing
    End If
End If
只有表名称不同,其它都一样,能整合吗,请师傅帮忙,谢谢!


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


加好友 发短信
等级:童狐 帖子:268 积分:2307 威望:0 精华:0 注册:2010/3/26 14:08:00
  发帖心情 Post By:2012/3/8 9:31:00 [只看该作者]

自己想当然想的,没有创建表去测试:

 

Select Case e.DataCol.Name
    Case "订单编号", "规格尺寸"
        Dim dr As DataRow
        Dim names() As String = {"铁盘订单","木盘订单","木箱订单"}
        For Each name As String In names '按顺序遍历表
            dr = DataTables(name).Find("[订单编号] = '" & e.DataRow("订单编号") & "' And [规格尺寸] = '" & e.DataRow("规格尺寸") & "'")
            If dr IsNot Nothing Then '如果三个表中按顺序某表有此数据行
                e.DataRow("部门") = dr("部门")
                e.DataRow("出口国家") = dr("出口国家")
                e.DataRow("处理要求") = dr("处理要求")
                e.DataRow("出证") = dr("出证")
                e.DataRow("订单数量") = dr("订单数量")
                e.DataRow("交货日期") = dr("交货日期")
                Exit For '退出循环
            End If
        Next
        If dr Is Nothing Then '如果最终没有这一行
            e.DataRow("部门") = Nothing
            e.DataRow("出口国家") = Nothing
            e.DataRow("处理要求") = Nothing
            e.DataRow("出证") = Nothing
            e.DataRow("订单数量") = Nothing
            e.DataRow("交货日期") = Nothing
        End If
End Select


 回到顶部