Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.08.2009, 19:55   #1
MarinaB
Новичок
Джуниор
 
Регистрация: 27.08.2009
Сообщений: 1
По умолчанию Фильтр таблицы по нескольким параметрам

Здравствуйте, подскажите, пожалуйста, как правильно отфильтровать таблицу по нескольким параметрам. Есть 4 CheckBox'а, нужно смотреть, какие из них отмечены и в зависимости от этого фильтровать таблицу по отмеченным полям. В данный момент есть следующий код, который не работает:
Код:
if CheckBox14.Checked then
  begin
    d1 := DateTimePicker1.DateTime;
    d2 := DateTimePicker2.DateTime;
    str1 := 'AND DateGaran>=' + quotedstr(DateToStr(d1)) + ' AND DateGaran<=' + quotedstr(DateToStr(d2));
  end
  else str1 := '';
  if CheckBox15.Checked then
  begin
    str2 := 'AND Client_Service=' + quotedstr(IntToStr(ClientID));
  end
  else str2 := '';
if CheckBox16.Checked then
  begin
    str3 := 'AND specialist=' + quotedstr(IntToStr(SpecialistID));
  end
  else str3 := '';
  if CheckBox17.Checked then
  begin
    str4 := 'AND VidObName=' + quotedstr(IntToStr(VidObID));
  end
  else str4 := '';

  DataModule1.ServiceADOTable.Filter := '' + str1 + str2 + str3 + str4;
  DataModule1.ServiceADOTable.Filtered := true;
Пожалуйста, очень нужна помощь
MarinaB вне форума Ответить с цитированием
Старый 28.08.2009, 08:17   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хм. С потолка:
Код:
str1:='';
if CheckBox14.Checked then
  begin
    d1 := DateTimePicker1.DateTime;
    d2 := DateTimePicker2.DateTime;
    str1 := 'DateGaran>=' + quotedstr(DateToStr(d1)) + ' AND DateGaran<=' + quotedstr(DateToStr(d2));
  end;

  if CheckBox15.Checked then
  begin
    if str1<>'' then str1:=str1+' AND ';
    str1 :=str1+ ' Client_Service=' + quotedstr(IntToStr(ClientID));
  end;

 if CheckBox16.Checked then
  begin
    if str1<>'' then str1:=str1+' AND ';
    str1 :=str1 +  ' specialist=' + quotedstr(IntToStr(SpecialistID));
  end;

  if CheckBox17.Checked then
  begin
    if str1<>'' then str1:=str1+' AND ';
    str1 :=str1+ ' VidObName=' + quotedstr(IntToStr(VidObID));
  end;

  DataModule1.ServiceADOTable.Filter := str1;;
  DataModule1.ServiceADOTable.Filtered := true;
Должно пойти.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор из таблицы по двум параметрам и построение таблице на основе выборки WildKosha Microsoft Office Excel 2 08.08.2009 01:53
ADO recordset фильтр по нескольким полям zmeevolk Microsoft Office Access 0 28.04.2009 16:23
Вызов из таблицы значения по 2 параметрам risen Microsoft Office Excel 2 15.04.2008 22:58
выбор по нескольким параметрам и подсчет кол-ва выбранных строк Oleshka Microsoft Office Excel 4 29.02.2008 11:38