日期:2014-05-18  浏览次数:20386 次

access 2000 like 查询问题

ACCESS(我用的是2000)模糊查询出现的变态问题,不知道该问题的希望注意,知道内幕的高手还望给小弟一个解释   Thanks  
在SQL   Server中模糊查询通常是这样的Select   *   from   tb_Table   where   no1   like   '%000% '  
但是在Access中用这条语句执行的时候发现查不出结果   .
后来查了下资料,发现问题如下:
要进行模糊查找,则必须使用通配符,ACCESS库的通配符和SQL   SERVER的通配符不一样。
ACCESS库的通配符为:  
*     与任何个数的字符匹配。  
?     与任何单个字母的字符匹配  
在SQL   Server中的通配符为:
%   与任何个数的字符匹配
-     与单个字符匹配

但是又发现,C#连接到Access数据库之后,用这样一条语句Select   *   from   tb_Table   where   no1   like   '*000* '  
(注意,这边按照上述通配符的要求将%修改为*了)竟然搜索不到应该存在的N条记录,!但直接在Access中执行的时候是有结果的呀!!!

希望大家给个正解。
我查了一下,问这个问题的不多,而且我实验了找不到正解,是不是access要做简单设置。   希望大家帮助

------解决方案--------------------
这个问题我遇到过,解决方案是这样的
除非你是用vba,要不然无论是用vb6还是C#,连Access数据库,like 的语法跟
sqlServer里面的一样:
% 与任何个数的字符匹配
- 与单个字符匹配

LZ给分吧,绝对OK