Foxtable(狐表)用户栏目专家坐堂 → [求助]删除重复行解疑(已解决)


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

主题:[求助]删除重复行解疑(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
[求助]删除重复行解疑(已解决)  发帖心情 Post By:2017/12/5 13:43:00 [只看该作者]

删除表中的重复值,用第一段代码可以实现要求,但是给出错误的提示,而用第二段代码则顺利通过。问题时是为什么运行第一段代码会出错呢?请各位老师指教,谢谢!!

运行第一段代码出错

For Each dr As DataRow In DataTables("清点明细").DataRows
    If dr.IsNull("编号") = False Then
        Dim dr2 As DataRow = DataTables("清点明细").Find("清点日期 = '" & rq & "' And 编号 = '" & dr("编号") & "' and _Identify > " & dr("_Identify"))
        If dr2 IsNot Nothing Then
            dr2.Delete
        End If
    End If
Next


图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看


运行第二段代码顺利通过

Dim i As Integer
For i  = DataTables("清点明细").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("清点明细").DataRows(i)
    Dim dr2 As DataRow = DataTables("清点明细").Find("清点日期 = '" & rq & "' And 编号 = '" & dr("编号") & "' and _Identify > " & dr("_Identify"))
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next
[此贴子已经被作者于2017/12/5 13:57:46编辑过]

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


加好友 发短信
等级:幼狐 帖子:166 积分:1021 威望:0 精华:0 注册:2016/1/12 20:03:00
  发帖心情 Post By:2017/12/5 13:53:00 [只看该作者]

批量删除要倒着删,所以第一种就会出错,第二种就没问题。

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2017/12/5 13:57:00 [只看该作者]

谢谢notebook老师的指教,再次感谢!!

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/12/5 14:08:00 [只看该作者]

筛选重复,删除重复,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=107764&skin=0

 


 回到顶部