Foxtable(狐表)用户栏目专家坐堂 → 二个字符串列中找出二个以上相同字符串


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

主题:二个字符串列中找出二个以上相同字符串

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
二个字符串列中找出二个以上相同字符串  发帖心情 Post By:2018/10/9 15:43:00 [只看该作者]

二个字符串列中找出二个及以上相同字符串
表A的第一列中有“监理工程,施工工程”等等,如果在表B的第二列中输入一个“监理单位”,如何把表A的第一列中所有含有“监理”的行筛选出来,如果在表B的第二列中输入一个“BBB111”,如何把表A的第一列中所有含有“BBB”的行筛选出来?



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


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


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

比如输入 123456,那么就要模糊匹配 12、23、34、45、56 这些字符?

 

Dim str As String = "123456"
Dim filter As String = "1=2"
For i As Integer = 1 To str.length-1
    filter &= " or 第一列 like '%" & str.SubString(i-1, 2) & "%'"
Next
msgbox(filter)


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/10/11 11:58:00 [只看该作者]

下面红色部分代码错在哪里,我的需求是:同时满足三个条件,"企业名称 = '" & ddr("投标单位") & "' And 年月 = '" & dr("信用分月份") & "'"  和 dt("企业类别").Contains(s) 


    Case "信用联动系数","信用分月份"
        '''''============计算信用分值=============
        Dim fdr As DataRow = DataTables("招标信息").Find("系统编号 = '" & dr("系统编号") & "'")
        If fdr IsNot Nothing Then
            Dim ddrs As List(of DataRow)
            ddrs = DataTables("标录明细").Select("系统编号 = '" & dr("系统编号") & "'")
            For Each ddr As DataRow In ddrs
                If dr.IsNull("信用联动系数") = False OrElse dr.IsNull("信用分月份") = False Then
                    For i As Integer = 0 To dr("咨询类型").Length - 2    '两个字符串中有两个连续字符相同  AA
                        Dim s As String = dr("咨询类型").Substring(i,2)
                        For Each dt As DataRow In DataTables("企业信用分").DataRows
                            If dt("企业类别").Contains(s) Then         'AA
                                Dim fd As DataRow = DataTables("企业信用分").Find("企业名称 = '" & ddr("投标单位") & "' And 年月 = '" & dr("信用分月份") & "'")   ' And 企业类别 Like '%" & s & "%'")
                                If fd IsNot Nothing Then
                                    If fdr("投标地区") = fd("地区")  Then
                                        ddr("信用分值") = fd("信用分值") * dr("信用联动系数")
                                    End If
                                End If
                            End If
                        Next
                    Next
                Else
                    ddr("信用分值") = Nothing
                End If
            Next
        End If

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


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

Dim fd As DataRow = DataTables("企业信用分").Find("企业名称 = '" & ddr("投标单位") & "' And 年月 = '" & dr("信用分月份") & "'")   ' And 企业类别 Like '%" & s & "%'")

 

改成

 

Dim fd As DataRow = DataTables("企业信用分").Find("企业名称 = '" & ddr("投标单位") & "' And 年月 = '" & dr("信用分月份") & "' And 企业类别 Like '%" & s & "%'")


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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/10/11 12:21:00 [只看该作者]

有点甜老师:
改成4楼出来的结果是"企业名称 = '" & ddr("投标单位") & "' And 年月 = '" & dr("信用分月份") & "'" 这个条件实施了,但And 企业类别 Like '%" & s & "%'")不起作用

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


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

代码没问题,实例发出来测试


 回到顶部