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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2008, 10:56   #1
Лукманов Александр
работа не волк....
Форумчанин
 
Аватар для Лукманов Александр
 
Регистрация: 09.06.2008
Сообщений: 337
Вопрос Фильтрация в Delphi

Как мне сделать чтобы сразу несколько ComboBox на форме, фильтровали поля DbGrid?
Цель, для которой требуются неправые средства, не есть неправая цель.
Лукманов Александр вне форума Ответить с цитированием
Старый 16.06.2008, 13:17   #2
master-sheff
Пользователь
 
Аватар для master-sheff
 
Регистрация: 16.06.2008
Сообщений: 39
По умолчанию

SELECT *
FROM Твоя_долбаная_таблица
WHERE ((Первое_поле=ComboBox1) and (Второе_поле=ComboBox2))

PS: Учи SQL.
master-sheff вне форума Ответить с цитированием
Старый 16.06.2008, 14:48   #3
hoza_syl
Форумчанин
 
Аватар для hoza_syl
 
Регистрация: 23.05.2008
Сообщений: 219
По умолчанию

master-sheff так не сойдет. Как ты из SQL запроса получиш доступ к свойствам компонентов???
Так что учи SQL master-sheff.

Делай так:

кинь вместо TTable - TQuery. Дважды щелкни по его свойству SQL
и там напишы следующие:

Код:
SELECT *
FROM Твоя_таблица
WHERE ((Первое_поле=:param1) and (Второе_поле=:param2) ...
and (N-тое_поле=:paramN))
Дальше в обработчике нажатия на кнопке Фильтровать или как там у тебя, пишы:

Код:
Query1.ParamByName('param1').AsString:=comboBox1.Items.ValueFromIndex(combobox1.itemIndex);
Query1.ParamByName('param2').AsString:=comboBox2.Items.ValueFromIndex(combobox2.itemIndex);
...
Query1.ParamByName('paramN').AsString:=comboBoxN.Items.ValueFromIndex(comboboxN.itemIndex);
Не знаю нет ли ошыбок писал без компилятора.
Обязательно перед названием параметра (param1, param2) ставить двоеточие.
The Revolution is Now!
hoza_syl вне форума Ответить с цитированием
Старый 16.06.2008, 15:28   #4
master-sheff
Пользователь
 
Аватар для master-sheff
 
Регистрация: 16.06.2008
Сообщений: 39
По умолчанию

Цитата:
Сообщение от hoza_syl Посмотреть сообщение
master-sheff так не сойдет. Как ты из SQL запроса получиш доступ к свойствам компонентов???
Так что учи SQL master-sheff.
Конечно не получу, я это прекрасно знаю. Я написал пример, а не работающую программу, помоему прекрасно всё видно как нада делать!!!

Ну если не нравится, то примерно так:
PHP код:
        Query1.Active := False;
        
Query1.SQL.Clear;
        
Query1.SQL.Add('SELECT * FROM Таблица WHERE Первое_поле='+ComboBox1.Items[ComboBox1.ItemIndex]+'and Второе_поле='+ComboBox2.Items[ComboBox2.ItemIndex]);
        
Query1.Active := True
master-sheff вне форума Ответить с цитированием
Старый 16.06.2008, 15:30   #5
master-sheff
Пользователь
 
Аватар для master-sheff
 
Регистрация: 16.06.2008
Сообщений: 39
По умолчанию

За работаспособность не ручаюсь, я привёл пример, а не работающую программу!
master-sheff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Фильтрация данных Gladiator БД в Delphi 4 23.05.2009 12:37
Фильтрация Лукманов Александр БД в Delphi 1 26.06.2008 10:18
Фильтрация Gorychev БД в Delphi 20 10.06.2008 23:30
Фильтрация изображений varvara16 Мультимедиа в Delphi 2 16.12.2007 10:20
Медианная фильтрация game87 Помощь студентам 2 14.12.2006 21:15