Foxtable(狐表)用户栏目专家坐堂 → [求助]为什么多条件筛选删除代码中的筛选不起作用?


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

主题:[求助]为什么多条件筛选删除代码中的筛选不起作用?

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


加好友 发短信
等级:幼狐 帖子:174 积分:1665 威望:0 精华:0 注册:2018/4/22 18:54:00
[求助]为什么多条件筛选删除代码中的筛选不起作用?  发帖心情 Post By:2019/3/7 10:36:00 [只看该作者]

各位老师好,我想通过下面的代码筛选出身份证号和职务都相同的行并删除,可是在实际执行时,只要身份证号相同而职务不同的行也删除了,请问代码哪里有问题?

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("身份证号='" & dr("身份证号") & "' and 职务='" & dr("职务") & "' ")
    If dr2 IsNot Nothing Then
        dr2.Delete
    End If
Next

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


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

Dim i As Integer
For i = DataTables("工作经历信息表").DataRows.Count-1 To 0 Step -1
    Dim dr As DataRow = DataTables("工作经历信息表").DataRows(i)
    Dim count = DataTables("工作经历信息表").compute("count(身份证号)", "身份证号='" & dr("身份证号") & "' and 职务='" & dr("职务") & "'")
    If count > 1 Then
        dr.Delete
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:174 积分:1665 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/3/7 11:47:00 [只看该作者]

有点甜老师,你修改之后的代码,当工作经历信息表窗口的主表时可用,如果窗口主表是别的表,代码就不能用,有什么办法解决这个问题吗?

详细情况:
项目的主窗口是人员信息窗口,主表是人员信息表,在主窗口有个人员信息批量导入窗口,为了防止多次导入造成行的重复,我在导入窗口关闭事件中写了人员信息表删除重复的代码,同时也写了工作经历信息表删除重复的代码(就是上面请你修改的代码)

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


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

Dim i As Integer
Dim t As Table = Forms("窗口1").controls("table1").Table
For i = t.Rows.Count-1 To 0 Step -1
    Dim dr As Row = t.Rows(i)
    Dim count = t.compute("count(身份证号)", "身份证号='" & dr("身份证号") & "' and 职务='" & dr("职务") & "'")
    If count > 1 Then
        dr.Delete
    End If
Next

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


加好友 发短信
等级:幼狐 帖子:174 积分:1665 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/3/7 12:31:00 [只看该作者]

甜老师,可能求助的人太多,你很忙,没顾得仔细看我上面的求助内容,也可能我说的不够详细,不容易看明白,造成刚才给出的代码不能用,抱歉。
导入时打开的是人员信息窗口,主表是人员信息表,而不是人员经历信息表。人员信息导入到人员信息表后,同时把有关的列复制到了人员经历信息表,也就是说,重复导入会使人员信息表和人员经历表都造成行的重复。现在的目的是,在主窗口为人员信息窗口(不是人员经历窗口)窗口主表为人员信息表时,在当前窗口从人员经历信息表筛选并删除身份证号和职务重复的人员。
如果忙的话,请你抽空再改。午安。
[此贴子已经被作者于2019/3/7 12:39:31编辑过]

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


加好友 发短信
等级:幼狐 帖子:174 积分:1665 威望:0 精华:0 注册:2018/4/22 18:54:00
  发帖心情 Post By:2019/3/7 14:30:00 [只看该作者]

甜老师,上面的两段代码都能用,刚才是我把代码位置放颠倒了。

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


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

 

如果还有问题,请上传具体实例测试。

 

 


 回到顶部