以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  高速合并同主键更新问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=17868)

--  作者:youyuweinihao
--  发布时间:2012/3/27 15:05:00
--  高速合并同主键更新问题

我这边想实现高速合并中的同主键更新这个功能可以不行

想知道是不是那个地方出错了

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:desktop.rar

我做了个EXCL表

是合并表A


--  作者:狐狸爸爸
--  发布时间:2012/3/27 15:33:00
--  

excel不是数据库,不存在主键,你可以用mdb文件测试此功能看看。

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test.rar


--  作者:youyuweinihao
--  发布时间:2012/3/27 15:52:00
--  

那我用EXCL格式导入的话有办法实现同主键更新这个功能吗

请问怎么实现呢


--  作者:狐狸爸爸
--  发布时间:2012/3/27 15:53:00
--  

自己写代码:

http://www.foxtable.com/help/topics/2334.htm

 


--  作者:youyuweinihao
--  发布时间:2012/3/27 16:18:00
--  

狐爸你给我一个相关的写代码的案例吧

我这边弄不出来


--  作者:狐狸爸爸
--  发布时间:2012/3/27 16:37:00
--  
Dim Book As New XLS.Book("c:\\test\\订单.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
Tables("订单").StopRedraw()
\'注意以下数组中列名称的顺序,必须和Excel表中的列顺序一致
Dim nms() As String = {"产品","客户","雇员","单价","折扣","数量","日期","_Identify"}
\'注意下面的循环变量从1开始,而不是从0开始,因为Excel表的第一行是标题
For n As Integer = 1 To Sheet.Rows.Count -1
    Dim r As DataRow = DataTables("订单").Find("[_Identify] = " & sheet(n,7).Value) \'注意假定_Identify位于excel表的第8列
    If r Is Nothing Then
        r =  DataTables("订单").AddNew()
    End If
    For m As Integer = 0 To 6 \'合并前7列
        r(nms(m)) = Sheet(n,m).Value
    Next
Next
Tables("订单").ResumeRedraw()

--  作者:youyuweinihao
--  发布时间:2012/3/29 21:54:00
--  

逻辑列不能合并是吧

合并老提示错误


--  作者:狐狸爸爸
--  发布时间:2012/3/29 21:58:00
--  

来个例子看看。


--  作者:youyuweinihao
--  发布时间:2012/3/29 22:02:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:珠宝回访管理系统.rar


--  作者:狐狸爸爸
--  发布时间:2012/3/29 22:03:00
--  

怎么测试你说的问题?