Foxtable(狐表)用户栏目专家坐堂 → 如何利用“更新同主键记录”更新记录


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

主题:如何利用“更新同主键记录”更新记录

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/8 21:02:00 [显示全部帖子]

 多嘴说一句,自带的高速合并真心不好用,至少可以给用户指定主键/指定要对比的列嘛,这样才合理简单易用。

 现在只能用代码自己导入了。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/9 23:13:00 [显示全部帖子]

 up一下,暂无时间做。参考7楼代码先自己弄弄。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/9 23:22:00 [显示全部帖子]

 把下面的代码赋值到 命令窗口 或者 做成一个按钮执行。

Dim dlg As new OpenFileDialog
dlg.Filter = "excel文件|*.xls;*.xlsx"
If dlg.ShowDialog Then
    Dim Book As New XLS.Book(dlg.FileName)
    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 bh As String = sheet(n,0).Text
        Dim fdr As DataRow = DataTables("县分公司").Find("编号 = '" & bh & "'")
        If fdr Is Nothing Then '如果不存在同编号的订单
            fdr = DataTables("县分公司").AddNew()
        End If
        For m As Integer = 0 To nms.Length - 1
            fdr(nms(m)) = Sheet(n,m).Value
        Next
        
    Next
    Tables("县分公司").ResumeRedraw()
End If

 回到顶部