Foxtable(狐表)用户栏目专家坐堂 → 阿可学艺[013]:请教:如何筛选出备注字段中包含多个字符串的记录?


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

主题:阿可学艺[013]:请教:如何筛选出备注字段中包含多个字符串的记录?

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


加好友 发短信
等级:婴狐 帖子:54 积分:445 威望:0 精华:0 注册:2012/5/29 2:27:00
阿可学艺[013]:请教:如何筛选出备注字段中包含多个字符串的记录?  发帖心情 Post By:2012/6/26 11:29:00 [显示全部帖子]

例如:

有3个字符串,分别是str1、str2和str3。表中有个备注字段[备注]。我想筛选出[备注]同时包含str1、str2和str3三个字符串的记录。

 

请教了各位老师。


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


加好友 发短信
等级:婴狐 帖子:54 积分:445 威望:0 精华:0 注册:2012/5/29 2:27:00
  发帖心情 Post By:2012/6/26 11:40:00 [显示全部帖子]

谢谢狐爸。

但是有个问题,如果其中有个字符串为空时会出错。如何解决?是否要用到selectcase语句呢?


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


加好友 发短信
等级:婴狐 帖子:54 积分:445 威望:0 精华:0 注册:2012/5/29 2:27:00
  发帖心情 Post By:2012/6/26 19:52:00 [显示全部帖子]

谢谢各位,我的方法如下,已试成功。敬请各位老师评点:

 

Dim Str0 As String = "000"
Dim Str1,Str2,Str3 As String
If Forms("窗口1").Controls("TextBox1").Value IsNot Nothing
    Str1 = Forms("窗口1").Controls("TextBox1").Value.Trim()
    Str0 = "1" & str0.SubString(1,2)
End If
If Forms("窗口1").Controls("TextBox2").Value IsNot Nothing
    Str2 = Forms("窗口1").Controls("TextBox2").Value.Trim()
    Str0 = str0.SubString(0,1) & "1" & str0.SubString(2,1)
End If
If Forms("窗口1").Controls("TextBox3").Value IsNot Nothing
    Str3 = Forms("窗口1").Controls("TextBox3").Value.Trim()
    Str0 = str0.SubString(0,2) & "1"
End If
Select Case Str0
    Case "000"
        Tables("表1").Filter = ""
    Case "100"
        Tables("表1").Filter = "[名称] like '*" & Str1 & "*'"
    Case "010"
        Tables("表1").Filter = "[名称] like '*" & Str2 & "*'"
    Case "001"
        Tables("表1").Filter = "[名称] like '*" & Str3 & "*'"
    Case "110"
        Tables("表1").Filter = "[名称] like '*" & Str1 & "*' And [名称] Like '*" & Str2 & "*'"
    Case "011"
        Tables("表1").Filter = "[名称] like '*" & Str2 & "*' And [名称] Like '*" & Str3 & "*'"
    Case "101"
        Tables("表1").Filter = "[名称] like '*" & Str3 & "*' And [名称] Like '*" & Str1 & "*'"
    Case "111"
        Tables("表1").Filter = "[名称] like '*" & Str1 & "*' And [名称] Like '*" & Str2 & "*' And [名称] Like '*" & Str3 & "*'"
End Select


 回到顶部