Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

фильтр БД   Найти похожие ветки 

 
kdv1977 ©   (2004-04-27 11:33) [0]

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


 
Vlad ©   (2004-04-27 11:37) [1]


> kdv1977 ©   (27.04.04 11:33)  

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


 
sniknik ©   (2004-04-27 11:39) [2]

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


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

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


 
sniknik ©   (2004-04-27 13:45) [4]

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


 
kdv1977 ©   (2004-04-27 13:49) [5]

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


 
sniknik ©   (2004-04-27 13:52) [6]

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


 
bushmen ©   (2004-04-27 13:52) [7]

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

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


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

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


 
kdv1977 ©   (2004-04-27 14:01) [9]

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;


 
HSolo ©   (2004-04-27 14:17) [10]

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


 
sniknik ©   (2004-04-27 14:23) [11]

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


 
kdv1977 ©   (2004-04-27 14:23) [12]

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


 
kdv1977 ©   (2004-04-27 14:39) [13]

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


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

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


 
kdv1977 ©   (2004-04-27 14:48) [15]

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



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.037 c
4-1081423926
Евгения
2004-04-08 15:32
2004.05.23
Как перенести папку


3-1083244047
GEN
2004-04-29 17:07
2004.05.23
БД Access, проблема переноса на другую машину


7-1081325033
LexaTyukha
2004-04-07 12:03
2004.05.23
Нужно найти и показать окно. Запуск через планировщик при старте.


1-1083926224
Vadim S
2004-05-07 14:37
2004.05.23
Где живет TBrowseInfo?


3-1083150708
GIL
2004-04-28 15:11
2004.05.23
Как узнать номер следующей записи?