以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]查询出错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19740)
|
-- 作者:13636600695
-- 发布时间:2012/5/20 7:30:00
-- [求助]查询出错
用文本框条件筛选时不能用*号,比如:1*1,否则报错 此主题相关图片如下:chucuola.jpg
[此贴子已经被作者于2012-5-20 7:45:10编辑过]
|
-- 作者:布莱克朱
-- 发布时间:2012/5/20 14:08:00
--
模糊筛选本身带*,估计起冲突了
|
-- 作者:狐狸爸爸
-- 发布时间:2012/5/21 8:18:00
--
细看关于通配符的说明:
Like 运算符用于比较字符串,在 Like 比较中,* 和 % 作为通配符,两者可以互换,表示任意个数的字符,通配符只能在开头或者结尾出现。例如:
[姓名] Like \'*赫*\'
[姓名] Like \'赫*\'
[姓名] Like \'*赫\'
分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”
在字符串的中间不允许使用通配符。例如,不允许 \'赫*丰\'
由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如:
[型号] Like \'A[*]*\'
表示型号以“A*”开头。
在 Like 运算符之前,可以加上Not关键词,表示不类似的意思,例如:
[姓名] Not Like \'李*\'
表示姓名不是以“李”开头,也就是不是姓李的。
|
-- 作者:13636600695
-- 发布时间:2012/5/22 20:19:00
--
我试过了很多方法,还是不行.我不知道[通配符]该放那个位置,可以帮我修改下代码吗?谢谢
Dim txt As String = e.Form.Controls("TextBox1").Text Dim tbl As Table = Tables("S001") If txt = "" Then tbl.Filter = "" Else txt = "\'*" & txt & "*\'" tbl.Filter = "第二列 Like " & txt & " Or 第三列 Like " & txt & " Or 第四列 Like " & txt & " Or 第五列 Like " & txt & " Or 第六列 Like " & txt End If
|
-- 作者:程兴刚
-- 发布时间:2012/5/22 22:48:00
--
Dim txt As String = e.Form.Controls("TextBox1").Text
txt = txt.Replace("*","[*]").Replace("%","[%]") Dim tbl As Table = Tables("S001") If txt = "" Then tbl.Filter = "" Else txt = "\'*" & txt & "*\'" tbl.Filter = "第二列 Like " & txt & " Or 第三列 Like " & txt & " Or 第四列 Like " & txt & " Or 第五列 Like " & txt & " Or 第六列 Like " & txt
End If
|
-- 作者:13636600695
-- 发布时间:2012/5/24 5:48:00
--
问题终于解决了,谢谢各位帮忙
|