以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何编码实现数据有条件合并  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=97120)

--  作者:xujie80
--  发布时间:2017/3/6 16:10:00
--  如何编码实现数据有条件合并
如何实现类似表间的数据引用:项目名为数据合并,excel表名为婚姻状况导入格式,条件是等于excel中的身份证号和姓名,如果满足条件就将数据合并表中的
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:婚姻状况导入格式.xls

婚姻状况、文化程度、调入日期三列内容替换为excel中的内容,如果没有则新增行,并将excel中的数据合并进来。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据合并.foxdb


--  作者:有点色
--  发布时间:2017/3/6 16:35:00
--  
Dim dlg As new OpenFileDialog
dlg.Filter = "Excel|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    Dim t As Table = Tables("表A")
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    t.StopRedraw()
    Dim nms() As String = {"姓名","身份证号","婚姻状况","文化程度","调入日期"}
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim bh As String = sheet(n,1).Text
        If bh > "" Then
            Dim dr As DataRow = t.DataTable.Find("身份证号 = \'" & bh & "\'")
            If dr Is Nothing Then \'如果不存在同编号的订单
                dr = t.DataTable.AddNew()
            End If
            For m As Integer = 0 To nms.Length - 1
                dr(nms(m)) = Sheet(n,m).Value
            Next
        End If
    Next
    t.ResumeRedraw()
End If

--  作者:xujie80
--  发布时间:2017/3/6 16:52:00
--  
超级快,谢谢