10 / 12 / 4
Регистрация: 22.10.2012
Сообщений: 120
1

Фильтрация

03.01.2014, 14:08. Показов 611. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите сделать фильтрацию по нескольким полям одновременно с помощью CheckBox.
Это мой набросок, просто фильтрует по одному полю.

Delphi
1
2
3
4
5
6
7
8
procedure TForm1.Button1Click(Sender: TObject);    
begin
   DM.ADOTable10.Filtered:=true;
   if CheckBox1.Checked then DM.ADOTable10.Filter:='Дата_созд='''+DateToStr(DateTimePicker1.Date)+ '''';
   if CheckBox2.Checked then DM.ADOTable10.Filter:='ФИО LIKE '+#39+ComboBox2.text+'%'+#39;
   if CheckBox3.Checked then DM.ADOTable10.Filter:='Вид LIKE '+#39+ComboBox3.text+'%'+#39;
 
end;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2014, 14:08
Ответы с готовыми решениями:

Фильтрация
Здравствуйте. Помогите разобраться. Есть форма, на ней компонент DBGrid, связанный с таблицей, одно...

Фильтрация
Здравствуйте..делал фильтрацию, но выдает ошибку, подчеркивает Filter и Filtered. Ее необходимо...

фильтрация
Добрый день. Подскажите мне, пожалуйста, несколько вопросов по фильтрации. База данных выполнена...

Фильтрация в БД
Подскажите как можно сделать фильтрацию по 2 полям (Firma, Zavod) в БД (ADOQuery, DataSourse)....

6
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
03.01.2014, 14:34 2
Под if может быть только одно условие, а если оно по смыслу задачи сложное, то пиши логическое выражение с AND, OR, XOR, NOT.

Добавлено через 6 минут
Или надо включать/выключать несколько фильтров? Тогда перед первым if [DELPHI]DM.ADOTable10.Filter:='';/DELPHI], потом вместо
Delphi
1
DM.ADOTable10.Filter:='Дата_созд='...
Delphi
1
2
3
4
begin
if DM.ADOTable10.Filter<>'' then DM.ADOTable10.Filter:=' AND ';
DM.ADOTable10.Filter:=DM.ADOTable10.Filter+'Дата_созд='...
end;
, вместо AND могут быть другие операторы. Или другой вариант: обработай отдельным ифом все комбинации, здесь их всего 8, включая отсутствие фильтра.
0
10 / 12 / 4
Регистрация: 22.10.2012
Сообщений: 120
04.01.2014, 12:48  [ТС] 3
непонятно (
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.01.2014, 12:51 4
Какая буква не прочиталась?
0
10 / 12 / 4
Регистрация: 22.10.2012
Сообщений: 120
04.01.2014, 13:46  [ТС] 5
все

Добавлено через 11 минут
and, or не работают или я чтото неправельно делал. по другому тоже не получилось(((
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
04.01.2014, 13:52 6
Покажи исходник.

Добавлено через 44 секунды
Если не работает AND и OR в запросе, то спроси в разделе SQL.
0
10 / 12 / 4
Регистрация: 22.10.2012
Сообщений: 120
05.01.2014, 11:42  [ТС] 7
вот так не работает (

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm1.Button1Click(Sender: TObject);   
begin
   DM.ADOTable10.Filtered:=true;
   DM.ADOTable10.Filter:='';
   if CheckBox1.Checked then
    begin
    DM.ADOTable10.Filter:=DM.ADOTable10.Filter+'Дата_созд='''+DateToStr(DateTimePicker1.Date)+ '''';
    end;
   if CheckBox2.Checked then begin
    if DM.ADOTable10.Filter<>'' then DM.ADOTable10.Filter:=DM.ADOTable10.Filter+' AND ';
    DM.ADOTable10.Filter:=DM.ADOTable10.Filter+'ФИО LIKE '+#39+ComboBox2.text+'%'+#39;
   end;
   if CheckBox3.Checked then
   begin
    if DM.ADOTable10.Filter<>'' then DM.ADOTable10.Filter:=DM.ADOTable10.Filter+' AND ';
    DM.ADOTable10.Filter:=DM.ADOTable10.Filter+'Вид LIKE '+#39+ComboBox3.text+'%'+#39;
   end;
0
05.01.2014, 11:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.01.2014, 11:42
Помогаю со студенческими работами здесь

Фильтрация
Добрый вечер!!! Помогите пожалуйста ...делаю фильтр для инвентаризационного номера ...Пишу...

Фильтрация БД
Добрый вечер! Имеется 3 радиокнопки. При выборе 1 отображаются все. при выборе 2 - те у кого...

Фильтрация в БД
Добрый вечер!.

фильтрация
В общем у меня есть база данных Aсcess подключённая через ADOTable, ADOConnection, DataSource....

Фильтрация
Здравствуйте. Нужно осуществить фильтрацию по нескольким признакам через combobox , по одному...

Фильтрация
Ребята, необходимо отфильтровывать данные, работает но не на 100%. Ввожу в edit фамилии, одни...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru