Foxtable(狐表)用户栏目专家坐堂 → 请帮忙看下筛选后删除的代码 怎么改才能完成我要的功能


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

主题:请帮忙看下筛选后删除的代码 怎么改才能完成我要的功能

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


加好友 发短信
等级:小狐 帖子:392 积分:3026 威望:0 精华:0 注册:2014/9/20 23:56:00
请帮忙看下筛选后删除的代码 怎么改才能完成我要的功能  发帖心情 Post By:2014/11/6 13:08:00 [只看该作者]


用400的话单与客户资料表内登记的做比对 如果400的电话出现在客户资料表中的,就把400表内的话单删除,最后保留的全是没有登记在客户资料表中的

但是400号码如果有连续2条重复的号码记录时,执行下面的代码只能删除第一条重复记录,请问如何修改代码已完成我想要的功能


For Each r As Row In Tables("销售400通话记录").Rows
    Dim dr As DataRow = DataTables("客户资料").Find("联系电话 = '" & r("主叫号码") & "'")
    If dr Is Nothing Then
      r.Delete
    End If
Next

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


加好友 发短信
等级:小狐 帖子:392 积分:3026 威望:0 精华:0 注册:2014/9/20 23:56:00
  发帖心情 Post By:2014/11/6 14:04:00 [只看该作者]

变通了下解决了 但是否有更好的解决方法呢 

For Each r As Row In Tables("销售400通话记录").Rows
    Dim dr As DataRow = DataTables("客户资料").Find("联系电话 = '" & r("主叫号码") & "'")
    If dr Is Nothing Then
        r.Checked = True
    End If
Next
For Each r1 As Row In Tables("销售400通话记录").GetCheckedRows    
    r1.Delete
Next


另外这种在表A中查找是否包含表B中的电话  有没有更高效的方式了 我的客户资料有上万条  400通话记录每周也有几百条。。。。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/6 14:21:00 [只看该作者]

用SQLcommand 执行 以下SQL语句

DELETE FROM {销售400通话记录} WHERE 联系电话 in (select Distinct 主叫号码 FROM {客户资料})

 回到顶部