ACCESS内的查询通配符怎么用?(50分)

  • 主题发起人 主题发起人 frui
  • 开始时间 开始时间
F

frui

Unregistered / Unconfirmed
GUEST, unregistred user!
我在ACCESS里写
select * from table1 where name like '*kk*'
可以检索出
akk
bkk
skkp等
但是写到程序里就检索不到了!
query1.SQL.add('select * from table1 where name like ''*kk*''')
query1.SQL.add('select * from table1 where name like "*kk*"')
好像被认为检索name='*kk*'的记录。
怎么办?
 
试一试%呢?
 
'%'在Access里试就不行,可能是Access不认这个通配符吧。
 
ft1:=Edit2.Text;
ft2:=Edit2.Text;
with query1 do
begin
close;
sql.clear;
sql.add('select * from gc');
sql.add('where gc_mc LIKE :ft1 or gc_mc LIKE :FT2');
Params[0].AsString:=Trim(concat(Trim(ft1),'%'));
Params[1].AsString:=Trim(Concat('%',Trim(ft2),'%'));
Open;
//我的程序里面的肯定可以的,你看看.
 
'%'在Access里试就不行???
不可能,我刚刚写了一个就是用的%,
你要注意单引号的位置。
 
ADOQuery1.sql.add('select * from tablename where fieldname like ''%'+editname.Text+'%''');
是我程序中的原码,别跟我说不行!当然fieldname的类型为string.
 
WHERE instr(name,'KK')>0
试试看!
 
呵呵,我也遇到过这个问题。你把整个语句用一个string变量构造好再赋给相应的SQL特性
就正常了。
 
'%'在Access里行[:)]
 
多人接受答案了。
 

Similar threads

W
回复
2
查看
141
wangchengwu
W
L
回复
3
查看
101
liminhan
L
L
回复
8
查看
74
liminhan
L
后退
顶部