以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 如何利用“更新同主键记录”更新记录 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=40977) |
||||
-- 作者:反思 -- 发布时间:2013/10/8 15:08:00 -- 如何利用“更新同主键记录”更新记录 在利用EXCEL进行数据导入时,选择“更新同主键记录”方式更新记录,但是在选定表中还是没有更新记录而是在表后面增加记录。 请问如何解决,如何设计主键。 |
||||
-- 作者:Bin -- 发布时间:2013/10/8 15:09:00 -- 你确定主键是相同的吗? 默认主键是 _IDentify 列哦 |
||||
-- 作者:反思 -- 发布时间:2013/10/8 15:11:00 -- 是我采用的是默认主键是 _IDentify 列哦 但是在EXCEL里就不知道在哪里设置。 |
||||
-- 作者:Bin -- 发布时间:2013/10/8 15:12:00 -- Excel表格有 _Identify列吗? 没有的话怎么对比? 当然是全部都没重复 全部都添加啦. |
||||
-- 作者:反思 -- 发布时间:2013/10/8 15:48:00 -- 利用ACCESS 导入也不行 在ACCESS设置了主键 还是不行。请指导。 |
||||
-- 作者:Bin -- 发布时间:2013/10/8 15:59:00 -- 呵呵,不会的.上个例子看看. |
||||
-- 作者:有点甜 -- 发布时间:2013/10/8 21:02:00 -- 多嘴说一句,自带的高速合并真心不好用,至少可以给用户指定主键/指定要对比的列嘛,这样才合理简单易用。 现在只能用代码自己导入了。 |
||||
-- 作者:反思 -- 发布时间:2013/10/9 0:16:00 -- 测试的项目如下: 1)在县分公司表内进行数据导入,导入文件为“县分.mdb” 2)导入的两个表格都试过都未能成功 3)希望的结果是附件“县分1.XLS” 试了很多次都未成功。
|
||||
-- 作者:有点甜 -- 发布时间:2013/10/9 23:13:00 -- up一下,暂无时间做。参考7楼代码先自己弄弄。 |
||||
-- 作者:有点甜 -- 发布时间: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 |