Foxtable(狐表)用户栏目专家坐堂 → [求助]导入数据时,如何只更新变化的数据,其他数据不变呢


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

主题:[求助]导入数据时,如何只更新变化的数据,其他数据不变呢

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


加好友 发短信
等级:五尾狐 帖子:1133 积分:8755 威望:0 精华:0 注册:2012/7/10 9:09:00
[求助]导入数据时,如何只更新变化的数据,其他数据不变呢  发帖心情 Post By:2017/12/4 13:22:00 [只看该作者]

如下代码:现在我只想更新面试顺序的内容,其他列内容不变,如何写代码呢,现在的代码必须全部更新,谢谢

代码:
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("数据表").StopRedraw()
Dim nms() As String = {"身份证号""面试顺序"}
For n As Integer = 1 To Sheet.Rows.Count -1 
    Dim bh As String = sheet(n,0).Text 
    Dim dr As DataRow = DataTables("数据表").Find("身份证号 = '" & bh & "'") 
    If dr Is Nothing Then '如果不存在同编号的订单
        dr =  DataTables("数据表").AddNew()
    End If
    For m As Integer = 0 To nms.Length - 1
        dr(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables("数据表").ResumeRedraw()
End If

图:数据表:
图片点击可在新窗口打开查看此主题相关图片如下:截图02.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/4 14:25:00 [只看该作者]

1楼的代码没有问题,只会修改 身份证号、面试顺序 两列的数据的。

 

如果有问题,具体可以做个例子发上来测试。


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


加好友 发短信
等级:五尾狐 帖子:1133 积分:8755 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2017/12/4 14:31:00 [只看该作者]

上例子:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/4 14:54:00 [只看该作者]

汗,如果报错,你应该说一下,报错吧?

 

Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter= "Excel文件|*.xls|Word文件|*.doc|Access文件|*.mdb" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim Book As New XLS.Book(dlg.FileName)
    Dim Sheet As XLS.Sheet = Book.Sheets(0)
    Tables("数据表").StopRedraw()
    Dim nms() As String = {"身份证号","面试顺序"}
    For n As Integer = 1 To Sheet.Rows.Count -1
        Dim bh As String = sheet(n,0).Text
        Dim dr As DataRow = DataTables("数据表").Find("身份证号 = '" & bh & "'")
        If dr Is Nothing Then '如果不存在同编号的订单
            dr =  DataTables("数据表").AddNew()
        End If
        For m As Integer = 0 To nms.Length - 1
            dr(nms(m)) = Sheet(n,m).Value
        Next
    Next
    Tables("数据表").ResumeRedraw()
End If


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


加好友 发短信
等级:五尾狐 帖子:1133 积分:8755 威望:0 精华:0 注册:2012/7/10 9:09:00
  发帖心情 Post By:2017/12/4 15:34:00 [只看该作者]

有点甜:把标红的去掉吗

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/4 15:45:00 [只看该作者]

以下是引用hrw68529在2017/12/4 15:34:00的发言:
有点甜:把标红的去掉吗

 

改成4楼的代码,注意标红的地方。


 回到顶部