以文本方式查看主题 - 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 -- 高速合并同主键更新问题 我这边想实现高速合并中的同主键更新这个功能可以不行 想知道是不是那个地方出错了
我做了个EXCL表 是合并表A |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/3/27 15:33:00 -- excel不是数据库,不存在主键,你可以用mdb文件测试此功能看看。
|
||||
-- 作者: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 --
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/3/29 22:03:00 -- 怎么测试你说的问题? |