以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]合并数据  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=54925)

--  作者:weijun
--  发布时间:2014/8/7 14:27:00
--  [求助]合并数据

如果订单表中已经存在相同编号的订单,那么就跳过此订单,

Dim Book As New XLS.Book("c:\\test\\订单.xls")
Dim
Sheet As XLS.Sheet = Book.Sheets(0)
Tables(
"订单").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致

Dim
nms() As String = {"车号","产品","客户","雇员","单价","折扣","数量","日期"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题

For
n As Integer = 1 To Sheet.Rows.Count -1
   
Dim b ch As String = sheet(n,0).Text
   
If DataTables("订单").Find("编号 = \'" & ch & "\'") Is Nothing Then \'如果不存在同编号的订单
        Dim
r As Row = Tables("订单").AddNew()
        For
m As Integer = 0 To nms.Length - 1
           
r(nms(m)) = Sheet(n,m).Value
       
Next
    End If
Next
Tables(
"订单").ResumeRedraw()

要该成已经存在相同车号  产品 数量 三个字段相同才跳过订单请教老师帮忙改下

[此贴子已经被作者于2014-8-7 14:27:24编辑过]

--  作者:有点甜
--  发布时间:2014/8/7 14:30:00
--  

Dim s1 As String = sheet(n,0).Text
Dim s2 As String = sheet(n,1).Text
Dim s3 As String = sheet(n,2).Text

If DataTables("订单").Find("编号 = \'" & s1 & "\' and 产品 = \'" & s2 & "\' and 数量 = \'" & s3 & "\'") Is Nothing Then \'如果不存在同编号的订单

 


--  作者:Bin
--  发布时间:2014/8/7 14:31:00
--  
假如 车号  产品 数量  分别是1 2 3列
Dim  ch As String = sheet(n,0).Text 
dim   cp as string = sheet(n,1).Tex
dim  sl as string = sheet(n,2).Tex
If DataTables("订单").Find("车号 = \'" & ch & "\' and 产品=\'" & cp & "\' and 数量=" & sl) Is Nothing Then \'如果不存在同编号的订单

--  作者:weijun
--  发布时间:2014/8/7 17:09:00
--  

谢谢老师

 

Dim Book As New XLS.Book("d:\\管理系统\\发货登记.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("厂发货登记").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"发货日期","车号","到站","规格","件数","吨位","实重","区号","货位","备注"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim ch As String = sheet(n,1).Text
    Dim gg As String = sheet(n,3).Text
    Dim dw As String = sheet(n,5).Text
    If DataTables("厂发货登记").Find("车号 = \'" & ch & "\' and 规格=\'" & gg & "\' and 吨位=" & dw) Is Nothing Then \'如果不存在同编号的订单
        Dim r As Row = Tables("厂发货登记").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("厂发货登记").ResumeRedraw()