Foxtable(狐表)用户栏目专家坐堂 → 请问:下列代码具有删除重复行功能,但是,当行为一行、或两行时,全部删除,行数必须为三行以上?


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

主题:请问:下列代码具有删除重复行功能,但是,当行为一行、或两行时,全部删除,行数必须为三行以上?

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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
请问:下列代码具有删除重复行功能,但是,当行为一行、或两行时,全部删除,行数必须为三行以上?  发帖心情 Post By:2012/11/14 12:00:00 [只看该作者]

请问:下列代码具有删除重复行功能,但是,当行为一行、或两行(不重复)时,全部删除,行数必须为三行以上才能不被全部删除?如何保证只有一行或两行时不被删除,两行重复留一行,两行不重复不被删除?

 

 

Dim t As Table =  Tables("导入订单")
t.Select(t.Rowsel,t.cols("重复删除过渡列").Index)
syscmd.Filter.ShowRedundantValues
For i As Integer = t.Rows.Count -1 To 0 Step -1
    t.rows(i).Delete
Next
t.filter = ""


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/14 12:02:00 [只看该作者]

显示冗余值,只有行数大于等于3的时候,才会执行。

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/11/14 12:06:00 [只看该作者]

比较合理的代码,删除第一列重复的行:

 

Dim drs As List(of DataRow) =  DataTables("表A").Select("", "第一列")
For i As Integer = drs.count - 1 To 1 Step - 1
    If drs(i)("第一列") = drs(i-1)("第一列") Then
        drs(i).delete
    End If
Next


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/14 12:07:00 [只看该作者]

 楼主加一个判断吧,自己处理少于两行的问题。

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2012/11/14 12:17:00 [只看该作者]

楼主:如果只有两行的话,一眼就看到了,还有必要考虑重复筛选吗?软件作者就是考虑这一点的。干嘛要把简单的问题复杂化呢?

 


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


加好友 发短信
等级:六尾狐 帖子:1294 积分:9852 威望:0 精华:0 注册:2012/9/19 21:13:00
  发帖心情 Post By:2012/11/14 12:22:00 [只看该作者]

谢谢,知道了。

 回到顶部
美女呀,离线,留言给我吧!
lightmyfire
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:23 积分:264 威望:0 精华:0 注册:2013/5/28 20:14:00
回复:(狐狸爸爸)比较合理的代码,删除第一列重复的...  发帖心情 Post By:2013/6/19 22:51:00 [只看该作者]

这样把重复行都删除了,如果我想保留一行,应该怎么办

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/20 8:36:00 [只看该作者]

显示冗余值,只会显示超过一行的多余的重复值,直接删除,然后取消筛选,你就会发现保留有一行的。

 回到顶部