Foxtable(狐表)用户栏目专家坐堂 → 如何给导入语句加上判断是否内容已经存在的操作?求个拓展功能,就是导入前能用XLS文件的标题和数据表的标题做一个对比,一致时才开始导入


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

主题:如何给导入语句加上判断是否内容已经存在的操作?求个拓展功能,就是导入前能用XLS文件的标题和数据表的标题做一个对比,一致时才开始导入

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


加好友 发短信
等级:管理员 帖子:47479 积分:251266 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/12 11:35:00 [显示全部帖子]

帮助提供了一个例子:

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

 

 

这个例子是无条件的,假定多了一个编号列,而且要求订单表中已经存在相同编号的订单,那么就跳过此订单,可以将代码改为:

 
 Dim Book As New XLS.Book("c:\test\订单.xls")
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  '假定编号位于Excel表的第一列
    If DataTables("订单").Find("编号 = '" & bh & "'") Is Nothing Then '如果不存在同编号的订单
        Dim r As Row = Tables("订单").AddNew()
        For m As Integer = 0 To nms.Length - 1
            r(nms(m)) = Sheet(n,m).Value
        Next
    End If
Next
Tables("订单").ResumeRedraw()

 


 

[此贴子已经被作者于2013-3-12 11:36:37编辑过]

 回到顶部