![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтрация в TQuery [D7, MSSQL]
Andrey Filatow © (2003-05-08 16:30:00)Есть Query уже активированный. Как дельфовами методами (к примеру свойством filter или что нить еще ) получить результат на подобии запроса sql:
select * from table1 where id like "%hi%" ?
Tolik1 (2003-05-09 16:11:00) [1]у меня работает такой пример (правда, если строка для Like не содержит пробелов)
Здесь фильтрование происходит по нескольким параметрам.
procedure TForm1.MakeDBGrid1Filter;
begin
ADOQuery1.Filtered := False;
case RadioGroup2.ItemIndex of // признак того, что документ возвращен
0: AdoQuery1.Filter := "";
1: AdoQuery1.Filter := "Возвращен = 1";
2: AdoQuery1.Filter := "Возвращен = 0";
end;
CurrentFilter := trim(AdoQuery1.Filter);
if (Edit1.Text = "") OR (Edit1.Text = null) then
AdoQuery1.Filter := CurrentFilter
else
begin
if (CurrentFilter = "") OR (CurrentFilter = null) Then
AdoQuery1.Filter := "[ФИО агента] LIKE %"+Edit1.text+"%"
else
AdoQuery1.Filter := CurrentFilter + " AND " + "[ФИО агента] LIKE %"+Edit1.text+"%";
end;
CurrentFilter := trim(AdoQuery1.Filter);
if (Edit2.Text = "") OR (Edit2.Text = null) then
AdoQuery1.Filter := CurrentFilter
else
begin
if (CurrentFilter = "") OR (CurrentFilter = null) Then
AdoQuery1.Filter := "[Наименование организации] LIKE %"+Edit2.text+"%"
else
AdoQuery1.Filter := CurrentFilter + " AND " + "[Наименование организации] LIKE %"+Edit2.text+"%";
end;
ADOQuery1.Filtered := True;
end;
Erik Ivanov (2003-05-09 14:59:00) [2]Делаеш Filter := "id like "%hi%""; - тут возможны варианты
Filtred := True;
Mike Kouzmine (2003-05-08 17:18:00) [3]accept := (pos("hi",qt1.asString) >0);