使用 ADOTable1.Filter  查询时
form1.ADOTable1.Filter:='父亲年龄'+'<29'; 执行查询,程序通过
而form1.ADOTable1.Filter:='父亲年龄'+'>29'; 执行查询,程序出错
二者代码唯一区别是将“ < ”成了 “  > ”
即小于号改成大于号,程序就出错,请教?

解决方案 »

  1.   

    错误信息:
    Project   Project1.exe  raised  exception  class EOleException with  message “应用程序使用的参数或类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。”process stopped, use step or run continue.
    数据库为(Microsoft Access 2000)
    具体代码:{ Button1Click不出错,Button2Click出错,显示以上错误信息}
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, ADODB, StdCtrls;
    type
      TForm1 = class(TForm)
        ADOConnection1: TADOConnection;
        ADOTable1: TADOTable;
        DBGrid1: TDBGrid;
        DBNavigator1: TDBNavigator;
        DataSource1: TDataSource;
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    var
      Form1: TForm1;
    implementation
    {$R *.dfm}
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    form1.ADOTable1.Filtered:=false;
    form1.ADOTable1.Filter:='父亲年龄'+'<29';
    form1.ADOTable1.Filtered:=true;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
    form1.ADOTable1.Filtered:=false;
    form1.ADOTable1.Filter:='父亲年龄'+'>29';
    form1.ADOTable1.Filtered:=true;
    end;
      

  2.   

    查查你的数据表或者是你的QUery或者那个地方的设置的问题。