Foxtable(狐表)用户栏目专家坐堂 → 为何匹配筛选,无结果


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

主题:为何匹配筛选,无结果

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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/7/4 19:03:00 [显示全部帖子]

Dim a As String
a = "1002" & "**"
Tables("AA").Filter = "[第一列] Like '" & a & "'"

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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/7/4 19:06:00 [显示全部帖子]

"?"不是匹配符

在 Like 比较中,* 和 % 作为通配符,两者可以互换,表示任意个数的字符,通配符只能在开头或者结尾出现。例如:

[姓名] Like '*赫*'

[姓名] Like '赫*'

[姓名] Like '*赫'

分别表示姓名中包括“赫”,姓名开头是“赫”(姓赫),姓名结尾是“赫”

在字符串的中间不允许使用通配符。例如,不允许 '赫*丰'

由于* 和 % 默认作为通配符,如果要将其作为比较内容的一部分,必须用方括号括起来,例如:

[型号] Like 'A[*]*'

表示型号以“A*”开头。


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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/7/4 20:08:00 [显示全部帖子]

以下是引用小狐在2011-7-4 19:09:00的发言:

Like运算符

Like使用通配符来比较字符串。

可用的通配符有:

字符说明
?任何单个字符
*零或多个字符
#任何单个数字(0 到 9)
[字符列表]字符列表中的任何单个字符,例如[abx]表示a、b、x三个字符中的任何一个。
[!字符列表]不在字符列表中的任何单个字符,例如[!abx]表示除a、b、x之外的任何一个字符。

方括号中的字符列表,可以使用连字符 (–) 将范围的上下限分开,例如[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]##"'匹配

这个是代码中的"Like",不是表达式中的"Like"吧.


 回到顶部