以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 为何匹配筛选,无结果 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11025) |
||||||||||||
-- 作者:小狐 -- 发布时间:2011/7/4 18:49:00 -- 为何匹配筛选,无结果 一列为:100201 100202 100203 设置如下筛选 Dim a As String 为什么没有显示结果? |
||||||||||||
-- 作者:hhbb -- 发布时间:2011/7/4 19:03:00 -- Dim a As String a = "1002" & "**" Tables("AA").Filter = "[第一列] Like \'" & a & "\'"
|
||||||||||||
-- 作者:hhbb -- 发布时间:2011/7/4 19:06:00 -- "?"不是匹配符 在 Like 比较中,* 和 %
作为通配符,两者可以互换,表示任意个数的字符,通配符只能在开头或者结尾出现。例如: [姓名] Like \'赫*\' [姓名] Like \'*赫\' 分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫” 在字符串的中间不允许使用通配符。例如,不允许 \'赫*丰\' 由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如: [型号] Like \'A[*]*\' 表示型号以“A*”开头。 |
||||||||||||
-- 作者:小狐 -- 发布时间:2011/7/4 19:09:00 --
方括号中的字符列表,可以使用连字符 (–) 将范围的上下限分开,例如[a-e]表示字母a到e中的任意一个,[a-z]就表示任意一个字母,而[0-9]表示任意一数字。 将下面的代码复制到命令窗口执行,请留意注释和执行结果: \'任意3个字符,后接3个数字 Output.Show( "ABC123" Like "???###") \'匹配 Output.Show( "A1212A" Like "???###") \'不匹配 \'任意一个字符,随后是ABC三字符中的任意一个 Output.Show( "RB" Like "?[ABC]") \'匹配 Output.Show( "RD" Like "?[ABC]") \'不匹配 \'任意一个字符,随后是除ABC三字符之外的任意一个字符 Output.Show( "RB" Like "?[!ABC]") \'不匹配 Output.Show( "RD" Like "?[!ABC]") \'匹配 \'任意一个字母,随后是两个数字 Output.Show( "a12" Like "[a-z]##") \'匹配 |
||||||||||||
-- 作者:小狐 -- 发布时间:2011/7/4 19:12:00 -- 换成# ,也不行啊 |
||||||||||||
-- 作者:小狐 -- 发布时间:2011/7/4 19:16:00 --
|
||||||||||||
-- 作者:blackzhu -- 发布时间:2011/7/4 19:52:00 -- Dim a As String
hhbb的代码不是很好使吗? |
||||||||||||
-- 作者:hhbb -- 发布时间:2011/7/4 20:08:00 -- 以下是引用小狐在2011-7-4 19:09:00的发言:
方括号中的字符列表,可以使用连字符 (–) 将范围的上下限分开,例如[a-e]表示字母a到e中的任意一个,[a-z]就表示任意一个字母,而[0-9]表示任意一数字。 将下面的代码复制到命令窗口执行,请留意注释和执行结果: \'任意3个字符,后接3个数字 这个是代码中的"Like",不是表达式中的"Like"吧.
|
||||||||||||
-- 作者:小狐 -- 发布时间:2011/7/4 21:16:00 -- 主要的目的就是限定在1002 加两个数字这个区间,多了,少了,排除在外,以做进一步的操作 |