Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

фильтр БД [dBase, FoxPro]


kdv1977 ©   (2004-04-27 11:33:00) 

Подскажите уважаемые. Можно ли сделать фильтр по двум полям. Например к фильтру: Table1.filter:='tab ='+str  подставить еще одно поле или более. Где str:string. Зараннее благодарен.


kdv1977   (2004-04-27 14:48:00) [1]

Огромное спасибо. Все получилось.


HSolo   (2004-04-27 14:42:00) [2]

Поля mm и otdel оба integer?
Query_MY.Filter:= 'mm = '+ str1 + ' and otdel = '+ str;
Если кто-то из них - строка, то
sniknik ©   (27.04.04 14:23) [11]


kdv1977   (2004-04-27 14:39:00) [3]

Я пытаюсь вставить фильтр:
Query_MY.Filter:= ('mm = '+ str1) and ('otdel = '+ str);
а он мне ругается несовместимостью операндов.


sniknik   (2004-04-27 14:23:00) [4]

странная запись
str1 := Query_MY.Lookup('mm', MaskEdit1.Text, 'mm');
ишеш строку с mm = MaskEdit1.Text, и получаеш ее же проще сразу значение MaskEdit1.Text в фильтр подставить.
ну да ладно, но это строка похоже? а кавычек обрамляющих строку не задаеш.


kdv1977   (2004-04-27 14:23:00) [5]

поле создается из запроса:
SELECT N_PP, EXTRACT( MONTH FROM D_WW ) mm, SUMMA, D_WW
FROM Razgovor


HSolo   (2004-04-27 14:17:00) [6]

Какого типа поле mm? Как выглядит Query_MY.Filter?


kdv1977   (2004-04-27 14:01:00) [7]

procedure TForm1.Button1Click(Sender: TObject);
var str,str1 :string;
begin
 if All_Check.Checked = False then
   begin
     Query_MY.Filtered := False;
     All_Check.Checked :=False;
     str := Qmen_otd.Lookup('otdel', DBLookupComboBox1.Text, 'n_pp');
     str1 := Query_MY.Lookup('mm', MaskEdit1.Text, 'mm');
     Query_MY.Filter:= 'mm = '+ str1;       // ??????????
     Query_MY.Filtered:=true;
   end
  else
   Query_MY.Filtered := False;
end;


sniknik   (2004-04-27 13:54:00) [8]

bushmen ©   (27.04.04 13:52) [7]
не весь код не надо, упаси боже. ;о)) только 17ю строку. (хотя бы приблизительно +- несколько строк)


sniknik   (2004-04-27 13:52:00) [9]

это значит в том месте которое я не вижу. (зайди на сайт Anatoly Podgoretsky там подробности)


bushmen   (2004-04-27 13:52:00) [10]

>kdv1977 ©   (27.04.04 13:49) [5]
>Извини я не понял что значит в 17-й. Я ведь только новичок.

Если не покажешь код своей программы, то так и останешься новичком :)


kdv1977   (2004-04-27 13:49:00) [11]

Извини я не понял что значит в 17-й. Я ведь только новичок.


sniknik   (2004-04-27 13:45:00) [12]

ошибка в 17-й строке


kdv1977   (2004-04-27 13:37:00) [13]

and  я пробую а он пишет несовместимость типов операндов.


sniknik   (2004-04-27 11:39:00) [14]

все зависит от движка, некоторые позволяют довольно сложные выражения, но уж and в фильтре все похоже поддерживают.
так что можно.


Vlad   (2004-04-27 11:37:00) [15]


> kdv1977 ©   (27.04.04 11:33)  

про and, or что нибудь слышали ?
А вобще, совет: пользуйтесь событием OnFilterRecord.


Наверх

Титульная страница Поиск, карта сайта Написать письмо