Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> 查询  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1702182
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

新手来看:LIKE 语句到底如何组织?*和%该用哪个?

作者:cg1  摘自:access911.net  :cg1  更新日期:2004-10-8  浏览人次:

 

问题:

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

 


回答:

在回答上述问题时你必须弄清楚你的环境
1、在纯 ACCESS 环境中,并且没有开启 ANSI  SQL 兼容选项的情况下:
(菜单 -> 工具 -> 选项 -> 高级 -> SQL SERVER 兼容语法(ANSI 92) 中可以看到你是否开启了 ANSI 兼容,如果开启了,请使用 % 而不是 *)
在这种环境下仍然至少要分成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 '%" & 某字符串变量名 & "%'"

 


本站文章旨在为该问题提供解决思路及关键性代码,并不能完成应该由网友自己完成的所有工作,请网友在仔细看文章并理解思路的基础上举一反三、灵活运用。

access911.net 原创文章,作者本人对文章保留一切权利。
如需转载必须征得作者同意并注明本站链接

 

 
相关文章
     没有手动相关文章
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利