Конференция "Базы" » Работа фильтра(ADOQuery1.filtered) [D7, Access]
 
  • ВладимирВВП © (08.06.13 16:26) [0]
    Процедура поиска вызывается для каждого Edit'а.
    При поиске точного значения все нормально.
    Но вот интервалы не работают.
    Пробовал с помощью BETWEEN , но тоже не получается

    procedure poisk;
    var filtr,add:string;
    begin
    Form2.ADOQuery1.filtered:=false;
    filtr:='';
    // город
    if length(Form2.edit1.text) > 0 then filtr:= 'gorod LIKE '+ #39 + Form2.Edit1.Text + '%' + #39;
    //  улица
    if length(Form2.edit2.text) > 0 then
    begin
    if length(filtr) > 0 then add:= ' and ' else add:='';
    filtr:=filtr + add + 'ulica LIKE '+ #39 + Form2.Edit2.Text + '%' + #39;
    end;

    //номер дома

    if (length(Form2.edit16.text) > 0) and (length(Form2.edit17.text) > 0) then
    begin//15
    if length(filtr) > 0 then add:= ' and ' else add:='';
    filtr:=filtr + add + ' nomerdoma >= '+ #39 + Form2.Edit16.Text + '%' + #39
                      + ' nomerdoma <= '+#39 + Form2.Edit17.Text + '%'  ;
    end;//15

    //  тут запускается фильтр
    if length(filtr) > 0 then
    begin
     Form2.ADOQuery1.Filter:= filtr;
      Form2.ADOQuery1.filtered:=true;
          end;
    end;

  • Ega23 © (08.06.13 19:19) [1]
    А зачем в ' nomerdoma >= '+ #39 + Form2.Edit16.Text + '%'   процент?
    Ну и потом, становимся бряком на if length(filtr) > 0 then   и смотрим, чему равен filtr
 
Конференция "Базы" » Работа фильтра(ADOQuery1.filtered) [D7, Access]
Есть новые Нет новых   [134430   +3][b:0][p:0.001]