![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DBLookupComboBox и фильтрация
Holod © (2011-01-23 10:55:00)Доброго времени суток, уважаемые знатоки!
Возникла проблема - есть база данных в access, связана через ADO. В БД 3 связанные таблицы. Необходимо в делфи создать что-то вроде фильтра - чтобы условие фильтрации бралось обязательно из компонента DBLookupComboBox, далее запрос обрабатывался и итоговые данные выводились в таблицу. Не нашел у компонента свойство Filter, в факах тоже не смог найти что-то более или менее похожее. В DBLookupComboBox данные вывожу из одной таблицы - название продукции, к примеру, а фильтр необходимо сделать по второй таблице "Список договоров".
Заранее спасибо!!!
(2011-03-02 21:40:00) [1]Удалено модератором
Плохиш (2011-01-23 19:24:00) [2]
> Holod (23.01.11 12:12) [5]
>
> а по существу?
"Существа" всё ещё не наблюдается.
Плохиш (2011-01-23 19:23:00) [3]
> Holod (23.01.11 12:27) [10]
> procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
>
> begin
>
> form1.ADOQuery1.
Интересно по каким дерьмокнижкам учат вас таких дерьмокодеров?
sniknik (2011-01-23 14:55:00) [4]> А можно подсказку - какие параметры?
http://www.google.ru/search?q=SQL+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B9+%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B
Holod (2011-01-23 12:44:00) [5]А можно подсказку - какие параметры? ListSource, ListField и KeyField ?
Что ошибка понял, а вот понять какая именно, не могу.
sniknik (2011-01-23 12:38:00) [6]> + заранее к запросам, используй параметры...
> а если так:
это не будет работать. - ошибка синтаксиса.
Holod (2011-01-23 12:27:00) [7]а если так:
procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
begin
form1.ADOQuery1.SQL.Text:= 'select * from Dogovor, production where Dogovor.Name_prod='+ form1.DBLookupComboBox1.Text+';';
form1.ADOQuery1.Open;
form1.DBGrid2.DataSource:= form1.DataSource3;
end;
?
sniknik (2011-01-23 12:25:00) [8]> Какой запрос? SQL?
ну а какой еще? не в ОВИР же.
+ заранее к запросам, используй параметры...
Holod (2011-01-23 12:17:00) [9]Если б знал как, то сделал бы. Какой запрос? SQL?
sniknik (2011-01-23 12:16:00) [10]> а по существу?
как только ты сам начнешь, так сразу.
но пока пытаешься изобретать глючные "велосипеды" про которые миллион раз говорилось - "так делать нельзя"... действительно скучно в миллион первый раз тоже самое повторять.
sniknik (2011-01-23 12:13:00) [11]> Подскажите, в чем косяк!
это не косяк это карма... за то что проигнорировал - [1] > Вместо фильтра, сделай запрос.
Holod (2011-01-23 12:12:00) [12]а по существу?
Плохиш (2011-01-23 12:11:00) [13]Скучно..
Holod (2011-01-23 12:06:00) [14]Начал реализовывать таким вот образом:
procedure TForm1.DBLookupComboBox1Click(Sender: TObject);
begin
form1.ADOQuery1.Open;
form1.ADOQuery1.Filtered:=false;
form1.ADOQuery1.Filter:='' +form1.DBLookupComboBox1.Text;
form1.ADOQuery1.Filtered:=true;
form1.DBGrid2.DataSource:= form1.DataSource3;
end;
Выходит ошибка, что аргументы имеют неверный тип и выходят за пределы...
Подскажите, в чем косяк!
Плохиш (2011-01-23 11:57:00) [15]
> Не нашел у компонента свойство Filter, в факах тоже не
> смог найти что-то более или менее похожее.
У какого компонента? Фильтрация от используемых компонентов не зависит.
Anatoly Podgoretsky (2011-01-23 11:22:00) [16]> Holod (23.01.2011 10:55:00) [0]
Вместо фильтра, сделай запрос.