Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

*和%到底有何分别

时 间:2008-06-05 08:52:38
作 者:umvsoft整理   ID:16  城市:江阴
摘 要:*和%到底有何分别
正 文:

问题:

 LIKE 语句到底如何组织?*和%该用哪个?
用like 不行,如何进行糊模查询?

 
回答:

 在回答上述问题时你必须弄清楚你的环境
1、在纯access 环境中,并且没有开启 ANSI  SQL 兼容选项的情况下:
在这种环境下仍然至少要分成3种情况
1.1、在 VBA 代码中组织 JET SQL 语句:
dim rs as new adodb.recordset
dim strSQL as string
dim 变量 as string
strSQL="select * from table where field like '*" & 变量 & "*'"
'如果是 ANSI SQL 兼容模式时,必须用
'strSQL="select * from table where field like '%" & 变量 & "%'"
'代替

'如果不使用变量可以直接这样组织
'strSQL="select * from table where field like '%字符串%'"
'strSQL="select * from table where field like '*字符串*'"

rs.open strsql ,adodb.connection,1,1
 

 

1.2、直接在新建查询中写 SQL 代码,并保存为一个查询备用
select * from table where field like '*' & forms!某个窗体名!控件名 & '*'


千万注意,不能写成以下形式,以下形式是错误的:
select * from table where field like '*forms!某个窗体名!控件名*'


1.3、在窗体的 RECORDSOURCE 数据源属性或者控件的 ROWSOURCE行来源属性中
在这种情况中,同1.2是相同的。

2、在纯access 环境中,并且已经开启 ANSI SQL 兼容选项的情况下:
在这种情况下也一样至少要分3种情况
2.1、在 VBA 代码中组织 JET SQL 语句:
dim rs as new adodb.recordset
dim strSQL as string
dim 变量 as string
strSQL="select * from table where field like '%" & 变量 & "%'"
'如果是非 ANSI SQL 兼容模式时,必须用
'strSQL="select * from table where field like '*" & 变量 & "*'"
'代替

'如果不使用变量可以直接这样组织
'strSQL="select * from table where field like '%字符串%'"
'strSQL="select * from table where field like '*字符串*'"

rs.open strsql ,adodb.connection,1,1
 


2.2、直接在新建查询中写 SQL 代码,并保存为一个查询备用
select * from table where field like '%' & forms!某个窗体名!控件名 & '%'


千万注意,不能写成以下形式,以下形式是错误的:
select * from table where field like '%forms!某个窗体名!控件名%'


2.3、在窗体的 RECORDSOURCE 数据源属性或者控件的 ROWSOURCE行来源属性中
在这种情况中,同2.2是相同的。

3、在非 access 环境中,只是 VB ASP DELPHI 等调用 MDB 格式的文件的情况下:
以下以 VB 举例
dim strSQL as string
strSQL="select * from table where field like '%" & 某字符串变量名 & "%'"



Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助