access 能否支持通配符(100分)

  • 主题发起人 主题发起人 caisihai
  • 开始时间 开始时间
C

caisihai

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI里,对ACCESS数据库进行SQL查询,能否支持通配符呢?为什么我试过不行,老是查询不到,请问格式这样写
 
access2k是支持的,比如 select * from xmb where xm like '李%',至于ACCESS97支持与否,
没有使用过。
 
呵呵,支持的,从Access的帮助中CV的:
... ...
使用的通配符和它们匹配的数字或字符串的数目。
在样式中的字符 在表达式中的匹配
? _(下划线) 任何单一字符
* or % 零个或多个字符
# 任何单一数字(0 — 9)
[charlist] 任何在字符表中的单一字符
[!charlist] 任何不在字符表中的单一字符

注意查找时只能用like运算符!
 
我是用ACCESS数据库,并且用他做前端开发,ACCESS支持通配符
 
为什么
我这样不行啊!
select * from fiename
where comno like chhhh%
这样老是查不到啊!用的是ACCESS 97
这样最起码也能查到 chhhh 这条记录啊
我数据有这么记录
能否给点例子
 
SQL.text:='select * from '+libtablename+' where '+enfieldname+' like '+qfieldname+'';
 
>>where comno like "chhhh%"
 
97啊?
换成:
select * from fiename where comno like "chhhh*"
试试.
 
唉,其实很简单,Access的通配符是 * (多个字符)、 ? (单个字符),和Dos一样,和Access的版本无关!
所以,在Access中使用查询应该用 * 和 ? ,用 % 和 _ 是不行的!但在Delphi中用BDE查询则不同,因为
BDE是通过ODBC连接数据库的,所以要用 % 和 _ ,ODBC将其转换成Access的标准到Access中获得数据、返回。
总结:
在 MS Access 中建立查询,通配符用 MS Access 的标准: * 、 ? 。
在 Delphi 中的 BDE 查询数据,通配符用 SQL 标准: % 、 _ 。
明白了吗?
 
同意杜宝的意见
但是要加单引号:
select * from fiename where comno like 'chhhh*'
 
支持, 而且和SQL兼容
 
杜宝的意见并不全对,MS Access的标准和SQL的标准并不完全兼容,在MS Access中是不
支持 “_ ”和 “%” 作为通配符的。
在MS Access中建查询,
select * from fiename where comno like 'chhhh*'可以 查出 你想要的数据,
select * from fiename where comno like 'chhhh%'则 查不出 你想要的数据,
而在Delphi中用BDE建查询(所有通过ODBC连接MS Access数据库方式),
select * from fiename where comno like 'chhhh%'可以 查出 你想要的数据,
select * from fiename where comno like 'chhhh*'则 查不出 你想要的数据,
请大家注意这个区别!关键在于:MS Access的标准和SQL的标准并不完全兼容!
这个其实大家自己试一下就知道了!
 
补充一句,通配符是针对字符型字段的,当然要在两边加上单引号。
还有,MS Access通配符的标准和它的版本完全没有关系,我从MS Access2.0就开始用了!
 
那么在excel中使用呢??
当你用ADO连接Excel时,也要用模糊查询,比如;
select count(*) as NUM1 From [Table1] Where Field1$ Like '%1%'
上面的语句是用于统计式中含1的个数,但是由于excel列的特殊性,好像跟字段的属性有关
比如,当你是数值列的时候,肯定是有问题的,可是为什么我设了它为文字列,它却好像
很不稳定呢,在这个excel文件能用,而换一个则可能不能用??
 
支持*及?做通配符,至少97以上是支持的。
 
我用2000,支持
 
都可以支持的。无论97还是2000,我做好多程序了,没有问题。
方法就是楼上全部整理后的。
 
后退
顶部