以文本方式查看主题

-  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=104030)

--  作者:轩辕绝
--  发布时间:2017/7/21 14:10:00
--  [求助]数据表合并去重问题
老师你好。我的调度系统,中有一个“勤务信息表”其中有:日期,车牌号,车次,驾驶员,乘务员等字段
每周通过Excel数据来合并数据,避免与现有数据表中的数据重复。

为避免重复导入造成数据重复。
与现有数据对比,数据重复判定的依据为:日期、车次、驾驶员,3个字段都相同即确定为重复,不能再进行数据合并。或者重复数据自动合并(只显示一条)
请问如何设置?
谢谢。

--  作者:有点甜
--  发布时间:2017/7/21 14:32:00
--  

不会做,请上传具体实例

 

Dim dlg As New OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx"
If dlg.ShowDialog =DialogResult.OK Then
    Dim t As Table = Tables("表B")
    t.StopRedraw()
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim r As DataRow = t.DataTable.Find("日期 = #" & sheet(n, 0).text & "# and 车次 = \'" & sheet(n, 1).text & "\' and 驾驶员 = \'" & sheet(n, 2).text & "\'")
        If r Is Nothing Then r = t.DataTable.AddNew()
        For i As Integer = 0 To sheet.Cols.Count -1
            Dim cname As String = sheet(0, i).text
            If t.Cols.Contains(cname) Then
                r(cname) = sheet(n, i).Text
            End If
        Next
    Next
    t.ResumeRedraw()
End If