Foxtable(狐表)用户栏目专家坐堂 → 不重复导入


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

主题:不重复导入

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:6338 威望:0 精华:0 注册:2017/11/8 17:37:00
不重复导入  发帖心情 Post By:2019/3/1 12:08:00 [只看该作者]

Dim book As NEW xls.book("G:\现金银行.XLS")
Dim Sheet As xls.Sheet = BOOK.Sheets(0)
For i As Integer = 1 To Sheet.Rows.Count-1
    Dim b1 As String = sheet(i,1).text
    Dim b2 As String = sheet(i,2).text
    Dim b3 As String = sheet(i,3).text
    Dim b4 As String = sheet(i,4).text
    Dim b5 As String = sheet(i,5).text
    Dim b7 As String = sheet(i,7).text
    Dim b8 As String = sheet(i,8).text


 If DataTables("现金银行").find("类别名称 = '"& b1 &"'AND 日期 = #"& b2 &"# AND 摘要 = '"& b3 &"'AND 收入 = '"& b4 &"' And 支出 = '"& b5 &"' And 对方帐户 = '"& b7 &"' And 会计年度 = '"& b8 &"'") Is Nothing Then
    Dim dr As Row = Tables("现金银行").AddNew()
    dr("类别名称") = "基本帐户"
    dr("日期") = sheet(i,2).text
    dr("摘要") = sheet(i,3).text
    dr("收入") = sheet(i,4).text
    dr("支出") = sheet(i,5).text
    dr("对方帐户") = sheet(i,7).text
    dr("会计年度") = sheet(i,8).text
 End If
Next

怎么这句不可以起到防重复导入的功能的:If DataTables("现金银行").find("类别名称 = '"& b1 &"'AND 日期 = #"& b2 &"# AND 摘要 = '"& b3 &"'AND 收入 = '"& b4 &"' And 支出 = '"& b5 &"' And 对方帐户 = '"& b7 &"' And 会计年度 = '"& b8 &"'") Is Nothing Then
现在按一次就重复导入一次,想导入一次后,第二次只导入不得重复的值


如果是单列判断,这样又可以
 Dim b1 As String = sheet(i,9).text
 If DataTables("现金银行").find("重复判定 = '"& b1&"'") Is Nothing Then




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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/1 12:26:00 [只看该作者]

请做一个具体的例子发上来测试。

 

不然,请看看这样合成条件 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&replyID=879031&ID=131505&skin=1

 


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:6338 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2019/3/1 14:14:00 [只看该作者]

电子表放D盘
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建文件夹.rar


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:6338 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2019/3/1 14:15:00 [只看该作者]

现在按一次导入一次,我想导入不重复的数值


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/1 14:26:00 [只看该作者]

Dim book As NEW xls.book("C:\Users\dv rrxaI600 007\Downloads\新建文件夹\新建文件夹\现金银行.XLS")
Dim Sheet As xls.Sheet = BOOK.Sheets(0)
For i As Integer = 1 To Sheet.Rows.Count-1
    Dim b1 As String = sheet(i,1).text
    Dim b2 As String = sheet(i,2).text
    Dim b3 As String = sheet(i,3).text
    Dim b4 As String = sheet(i,4).text
    Dim b5 As String = sheet(i,5).text
    Dim b7 As String = sheet(i,7).text
    Dim b8 As String = sheet(i,8).text
    Dim filter As String = "1=1"
    If b1 = Nothing Then
        filter &= " and 类别名称 = '基本帐户'"
    Else
        filter &= " and 类别名称 = '"& b1 &"'"
    End If
   
    If b2 = Nothing Then
        filter &= " and 日期 is null"
    Else
        filter &= " and 日期 = #"& b2 &"#"
    End If
    If b3 = Nothing Then
        filter &= " and 摘要 is null"
    Else
        filter &= " and 摘要 = '"& b3 &"'"
    End If
    If b4 = Nothing Then
        filter &= " and 收入 is null"
    Else
        filter &= " and 收入 = '"& b4 &"'"
    End If
    If b5 = Nothing Then
        filter &= " and 支出 is null"
    Else
        filter &= " and 支出 = '"& b5 &"'"
    End If
   
    If b7 = Nothing Then
        filter &= " and 对方帐户 is null"
    Else
        filter &= " and 对方帐户 = '"& b7 &"'"
    End If
    If b8 = Nothing Then
        filter &= " and 会计年度 is null"
    Else
        filter &= " and 会计年度 = '"& b8 &"'"
    End If
    If DataTables("现金银行").find(filter) Is Nothing Then
        Dim dr As Row = Tables("现金银行").AddNew()
        dr("类别名称") = "基本帐户"
        dr("日期") = sheet(i,2).text
        dr("摘要") = sheet(i,3).text
        dr("收入") = sheet(i,4).text
        dr("支出") = sheet(i,5).text
        dr("对方帐户") = sheet(i,7).text
        dr("会计年度") = sheet(i,8).text
    End If
Next

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:6338 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2019/3/2 10:18:00 [只看该作者]

这句如何写成是提取当前电子表的表名
If b1 = Nothing Then
        filter &= " and 类别名称 = '基本帐户'"
    Else
现在问题又来了,如果一个工作簿有N个格式相同的表,类别名称值为提取当前表的表名,这句如何写成是提取当前电子表的表名,
 
Dim book As NEW xls.book("C:\Users\dv rrxaI600 007\Downloads\新建文件夹\新建文件夹\现金银行.XLS")
For L As Integer = 0 To 100
  Dim Sheet As xls.Sheet = BOOK.Sheets(L)
  For i As Integer = 1 To Sheet.Rows.Count-1
    Dim b1 As String = sheet(i,1).text
    Dim b2 As String = sheet(i,2).text
    Dim b3 As String = sheet(i,3).text
    Dim b4 As String = sheet(i,4).text
    Dim b5 As String = sheet(i,5).text
    Dim b7 As String = sheet(i,7).text
    Dim b8 As String = sheet(i,8).text
    Dim filter As String = "1=1"
    If b1 = Nothing Then
        filter &= " and 类别名称 = '基本帐户'"
    Else
        filter &= " and 类别名称 = '"& b1 &"'"
    End If
    
    If b2 = Nothing Then
        filter &= " and 日期 is null"
    Else
        filter &= " and 日期 = #"& b2 &"#"
    End If
    If b3 = Nothing Then
        filter &= " and 摘要 is null"
    Else
        filter &= " and 摘要 = '"& b3 &"'"
    End If
    If b4 = Nothing Then
        filter &= " and 收入 is null"
    Else
        filter &= " and 收入 = '"& b4 &"'"
    End If
    If b5 = Nothing Then
        filter &= " and 支出 is null"
    Else
        filter &= " and 支出 = '"& b5 &"'"
    End If
    
    If b7 = Nothing Then
        filter &= " and 对方帐户 is null"
    Else
        filter &= " and 对方帐户 = '"& b7 &"'"
    End If
    If b8 = Nothing Then
        filter &= " and 会计年度 is null"
    Else
        filter &= " and 会计年度 = '"& b8 &"'"
    End If
    If DataTables("现金银行").find(filter) Is Nothing Then
        Dim dr As Row = Tables("现金银行").AddNew()
        dr("类别名称") = "基本帐户"
        dr("日期") = sheet(i,2).text
        dr("摘要") = sheet(i,3).text
        dr("收入") = sheet(i,4).text
        dr("支出") = sheet(i,5).text
        dr("对方帐户") = sheet(i,7).text
        dr("会计年度") = sheet(i,8).text
    End If
  Next
Next


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


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/2 10:53:00 [只看该作者]

dr("类别名称") = sheet.name

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:6338 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2019/3/2 11:19:00 [只看该作者]

完美解决,多谢有点蓝老师


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


加好友 发短信
等级:八尾狐 帖子:1995 积分:6338 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2019/3/2 15:18:00 [只看该作者]

For L As Integer = 0 To 100
这句如何改成从0到工作簿中工作表的最大个数

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


加好友 发短信
等级:八尾狐 帖子:1995 积分:6338 威望:0 精华:0 注册:2017/11/8 17:37:00
  发帖心情 Post By:2019/3/2 15:21:00 [只看该作者]

100超出了范围,提示出来
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20190302152012.gif
图片点击可在新窗口打开查看

 回到顶部
总数 11 1 2 下一页