Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > фильтрация в Delphi


Автор: vesnushkaNATA 6.4.2009, 22:02
Приветик всем знатокам программирования!!!!
Создала проект и возникла проблема при фильтрации (((
На форме 2 combobox, 1 button and DBGrid
Необходимо отфильтровать данные в таблице, но вот в чем вопрос: как отфильтровать по одному из полей я знаю, но может возникнуть необходимость отфильтровать по двум полям и здесь возникает вопрос. Подскажите плиз как отфильтровать либо по одному из полей либо по двум сразу

Код для фильтрации по специальности:

Код

procedure TMainForm.BitBtn2Click(Sender: TObject);
begin
DataModule2.StudentQuery.Active:=false;
DataModule2.StudentQuery.SQL.Clear;
DataModule2.StudentQuery.SQL.Add('Select *');
DataModule2.StudentQuery.SQL.Add('From vipusk');
DataModule2.StudentQuery.SQL.Add('where spec LIKE '''+'%'+Combobox1.text+'%'+'''');
DataModule2.StudentQuery.Active:=true;
end;


точно так же выглядит код для фильтра по году выпуска, только вместо spec прописано поле year

Автор: Данкинг 6.4.2009, 22:46
Цитата(vesnushkaNATA @  6.4.2009,  23:02 Найти цитируемый пост)
Подскажите плиз как отфильтровать либо по одному из полей либо по двум сразу

Усовершенствованием запроса путём добавления условия ...and... smile 

Автор: vesnushkaNATA 6.4.2009, 22:49
хих..так я делала для проверки но не получилось, может подскажете поточнее ??

Автор: Лапоть 6.4.2009, 22:51
Цитата(vesnushkaNATA @  6.4.2009,  22:49 Найти цитируемый пост)
так я делала для проверки но не получилось
Код в студию!

Автор: Данкинг 6.4.2009, 22:55
Цитата(vesnushkaNATA @  6.4.2009,  23:49 Найти цитируемый пост)
но не получилось

Что не получилось? И какая СУБД вообще?

Автор: Keeper89 6.4.2009, 23:41
Если вам нужна простая фильтрация можете использовать Table (что судя по прикрепленному рисунку вы и делаете), там есть свойство Filter, где вставите ваше условие.
А так присоединяюсь к остальным - реализуйте через SQL запрос с AND (можно обойтис без LIKE).

З.Ы. Если пишете что-то серьезное, старайтесь не использовать запрос, которые вы указали в 1 посте или "фильтруйте" Combobox1.text. Советую из опыта по безопасности ПО.

Добавлено через 2 минуты и 34 секунды
Цитата(Данкинг @  6.4.2009,  22:55 Найти цитируемый пост)
Цитата(vesnushkaNATA @  6.4.2009,  23:49 Найти цитируемый пост)
но не получилось

Что не получилось? И какая СУБД вообще? 


+1

Автор: Staruha 15.4.2009, 21:26
В свойство filter два условия не поставишь надо код писать для фильтра что то типа
Код

 ...filter:='Pole1+s1' and 'Pole2+s2'

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)