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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2014, 11:47   #1
sdr1
Пользователь
 
Регистрация: 06.10.2014
Сообщений: 46
По умолчанию фильтрация записей в наборе данных

Рябят помогите можно ли вообще такое сделать

есть фильтр по текстовому полю Edit
вот код
Код:
begin
ADOQuery2.Filtered:=false;
 if (Edit5.Text<>'') then
  begin
   ADOQuery2.Filter:='(skp_name1 LIKE ''%' + Edit5.Text + '%'')';
   ADOQuery2.Filtered:=true;


 end;
end;
выборка по полю из dbgrid, как бы все работает но проблема в чем эта таблица с полями связана с другими таблицами(справочниками), ну например т1. организации т2.СКП т3.(в которой производится фильтрация) ФИО, организации, скп выбираются из первых двух таблиц и запоминают записи как (1,2,3 в числовом виде) и фильтрация тоже так работает (1,2,3,4,5 и т.д. , а как сделать так чтоб в поле вводить не 1,2,3, а например сами организации в текстовом виде?
sdr1 вне форума Ответить с цитированием
Старый 30.10.2014, 13:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А зачем ты пользуешься фильтром, коль скоро у тебя Query?
Почему не пропишешь в SQL эти параметры фильтрации?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.10.2014, 14:25   #3
sdr1
Пользователь
 
Регистрация: 06.10.2014
Сообщений: 46
По умолчанию

А можно поподробней не совсем понял верней совсем не понял
sdr1 вне форума Ответить с цитированием
Старый 30.10.2014, 14:28   #4
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

В самом запросе укажи фильтр WHERE ...
FaTaL вне форума Ответить с цитированием
Старый 30.10.2014, 15:17   #5
sdr1
Пользователь
 
Регистрация: 06.10.2014
Сообщений: 46
По умолчанию

Цитата:
Сообщение от FaTaL Посмотреть сообщение
В самом запросе укажи фильтр WHERE ...
для каждого поля добавлять отдельный ADOquery?
sdr1 вне форума Ответить с цитированием
Старый 30.10.2014, 15:42   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от sdr1 Посмотреть сообщение
для каждого поля добавлять отдельный ADOquery?
Кто мешает запрос динамически формировать в программе?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 30.10.2014, 15:53   #7
sdr1
Пользователь
 
Регистрация: 06.10.2014
Сообщений: 46
По умолчанию

сбросьте примерный запрос, пжл.
sdr1 вне форума Ответить с цитированием
Старый 30.10.2014, 16:46   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Сначала ты покажи свой запрос, как он у тебя есть.
И еще я не оч. понял всетки как должно формироваться условие.
Если например ты в Эдит вводишь через запятую значения то можно изголиться так:
Код:
s:=(поле LIKE  '+#39+'%'+StringReplace(Edit.text,',','%'+#39+') or (поле LIKE  '+#39+'%',[rfreplaceall]);
Тогда если в Эдит будут введены: Раз, два, три
То на выходе можно получить (поле LIKE '%Раз%') or (поле LIKE '%Два%') or (поле LIKE '%Три%')
Только слегка эту схему подправить нужно будет, чтоб лишних символов не было в команде.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация записей Ericnex БД в Delphi 7 18.02.2014 13:43
фильтрация данных и добавление новых записей макросом U_Oksana Microsoft Office Excel 10 24.01.2011 23:29
Фильтрация повторяющихся записей euronymous SQL, базы данных 3 04.02.2010 15:17
Фильтрация записей в таблице TaTT DoGG БД в Delphi 49 28.03.2009 19:04