以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  阿可学艺[010]:如何筛选出字段中包含某字符串的记录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20691)

--  作者:szljd0
--  发布时间:2012/6/15 22:31:00
--  阿可学艺[010]:如何筛选出字段中包含某字符串的记录

如何进行包含查找,筛选出字段中包含某字符串的记录?如下:

 

控件TextBox1接受了用户输入的字段,希望筛选出[名称]中包含该字符串的记录

 

Dim Str1 As String = Forms("窗口1").Controls("TextBox1").Value.Trim()
If Str1 <> "" Then
    Tables("表1").Filter ="[名称].Contains(Str1)"
End If

 

 

请问:这段程序有哪些错误?请指正。


--  作者:ahbzczy
--  发布时间:2012/6/16 0:19:00
--  
Tables("表1").Filter ="[名称] like \'%" & str1 & "%\'"
--  作者:szljd0
--  发布时间:2012/6/16 8:02:00
--  
 
成功了。谢谢ahbzczy兄弟!
 
但有不懂:1、以后这种字符串之间的比较都采用Like运算符吗?
               2、\'%\' 代表什么呀?在帮助中未提到它呀。

--  作者:szljd0
--  发布时间:2012/6/16 8:03:00
--  
成功了。谢谢ahbzczy兄弟!
 
但有不懂:
1、以后这种字符串之间的比较都采用Like运算符吗?
2、\'%\' 代表什么呀?在帮助中未提到它呀。

--  作者:szljd0
--  发布时间:2012/6/16 8:06:00
--  
另外,我想“名称”或“编号”中包含str1,语句应如何写呀?
--  作者:blackzhu
--  发布时间:2012/6/16 9:00:00
--  
Tables("表1").Filter ="[名称] like \'%" & str1 & "%\' or [编号] like "%" & Str1 & "%\'"

--  作者:ahbzczy
--  发布时间:2012/6/16 11:52:00
--  

包含比较可以用like这种

另外还有in,比如:[地址] in (\'北京\',\'上海\') \'查找地址属于北京或上海的

%代表通配符,%北京:以北京结束的字符串,北京%:以北京开始的字符串,%北京%:字符串里面包含有北京二字,无论在什么位置

Tables("表1").Filter ="[名称] like \'%" & str1 & "%\' or [编号] like \'%" & str1 & "%\'"


--  作者:szljd0
--  发布时间:2012/6/16 14:08:00
--  
正确!谢谢ahbzczy哥哥。