Foxtable(狐表)用户栏目专家坐堂 → 比较两列的相似性


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

主题:比较两列的相似性

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
比较两列的相似性  发帖心情 Post By:2019/11/20 17:02:00 [只看该作者]

A列内容:易方达指数
B列内容: 易方达基金公司

用A列内容的前两个字符做为关键词(“易方”)去B列模糊查找的语句怎么写?



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


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/20 17:29:00 [只看该作者]

Tables("表A").filter = "B列 like Substring(A列,1,2) + '%'"

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2019/11/21 15:52:00 [只看该作者]

请问老师如果把您说的语句写到标红的那一行代码中如何写?
Dim flag As Boolean = False
For Each dr As DataRow In DataTables("数据库1").datarows
    Dim drr As DataRow =  DataTables("数据库1").find("A列='" & dr("B列") & "'")
    If drr IsNot Nothing Then
        dr("重复标记")="有重复"
        flag = True
    End If
    
Next

If flag = False Then
    Messagebox.Show("没有重复记录!","提示")
End If

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2019/11/21 16:26:00 [只看该作者]

有点蓝老师帮忙看一下。

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


加好友 发短信
等级:超级版主 帖子:110581 积分:562801 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/11/21 16:26:00 [只看该作者]

For Each dr As DataRow In DataTables("数据库1").select("A列='" & dr("B列") & "'")
    dr("重复标记")="有重复"
        flag = True
Next

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2019/11/21 18:50:00 [只看该作者]

不是完全匹配啊,是用A列内容的前两个字符做为关键词(“易方”)去B列模糊查找


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10586 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2019/11/21 18:51:00 [只看该作者]

至少要用like  Substring吧?

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


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

Dim flag As Boolean = False
For Each dr As DataRow In DataTables("数据库1").datarows
    Dim val As String = dr("B列")
    Dim drr As DataRow  = Nothing
    If val > "" Then
        drr  =  DataTables("数据库1").find("A列='" & val.SubString(0,2)  & "'")
    End If
    If drr IsNot Nothing Then
        dr("重复标记")="有重复"
        flag = True
    Else
        dr("重复标记")= Nothing
    End If
Next

 回到顶部