小弟设计一个数据库最简单程序,调用MSAccess中建的表,实现筛选功能,可是编译运行后点按钮提示有错误,提示信息如下:
    ‘变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突’
我的程序代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
    adodataset1.Filtered:=false;
    adodataset1.Filter:='儿童名 like'+''''+trim(edit1.text)+#37+'''';
    adodataset1.Filtered:=true;
end;end.
大家帮着看看,谢谢~

解决方案 »

  1.   

    adodataset1.Filter:='儿童名 like''''+trim(edit1.text)+#37+'''';
      

  2.   

    同意: flyingkiller(大飞虫)Filter里面不能用like楼主变通变通吧,用AODQUERY
      

  3.   

    Filter里面不能用like的>>>>>>
    强调一下Filter可以用like的。
    adodataset1.Filter:='儿童名 like ''%'+trim(edit1.text)+'%''';
      

  4.   

    上面主要改动为你形成的filter中like后面没有空格,另外%没有可能查不到你想要的内容
    另外强烈建议你把中文子段改为英文
      

  5.   

    恩   不能有Like!http://expert.csdn.net/Expert/topic/1999/1999015.xml?temp=.4011652
      

  6.   

    同意hhytsoft(雨中独行)
    可以用like
      ADOQuery1.Filter:='儿童名  like '''+trim(edit1.text)+'%''';
      ADOQuery1.Filtered:=True;
      

  7.   

    刚才的例子就是用ACCESS试的,通过
      

  8.   

    hhytsoft(雨中独行)说的对,我在like后加了个空格就行了.高手,佩服!谢谢~
      

  9.   

    hhytsoft(雨中独行)说的对,我在like 后加了个空格就行了.高手,佩服!谢谢~以后还要劳您多多指点.还有,中文字段有什么缺点呢,设计的是中文界面如何能不用中文字段呢?
      

  10.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
        adodataset1.Filtered:=false;
        adodataset1.Filter:='儿童名 like'+trim(edit1.text)+'%';
        adodataset1.Filtered:=true;
    end;
      

  11.   

    中文字段在有些情况下会出现一些莫名其妙的问题,有时候很难找到具体的原因,特别是Access数据库,在SQLServer中使用中文名是我都是加"防止出现SQL语法检查出错
    Select "姓名","性别" from 人员表