Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Фильтровать данные в DBLookupComboBox, Филтрация данных в DBLookupComboBox 
:(
    Опции темы
NARKOM
  Дата 26.4.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 26.4.2010

Репутация: нет
Всего: нет



Добрый день. НИкогда не обращался к помощи форума но жизнь заставила. Уже около 2 недель бьюсь над одной прослемой. Расскажу покороче. Создаю БД в Interbase через IBExpert (таблицы нарисовал в дизайнере БД, сгеннерировал SQL коди также сделал триггеры, процедуры и генераторы) и Delphi 7. БД заключает в себе программу по отображению статей: имеются несколько глав, в каждую из которых входят несколько разделов и в каждом разделе находятся соответствующие статьи. Смысл в чем: при добалении статьи я должен :
1) указать главу ( я делаю чрез DBLookupComboBox1)
2) указать соответствующий раздел(принадлежащий определенной главе) - делаю  через DBLookupComboBox2.
И вот моя проблема: видираю тему в первом DBLookupComboBox а во втором у меня показывается список всех разделов по всем главам. И вот сколько ни бьюсь никак не могу понять как сделать. Я понял что надо фильтровать. но как и где написать этот фильтр не знаю. То ли в DataModule то ли у же в самом DBLookupComboBox2. И если делать через запрос то как это сделать? Помогите, буду благодарен всем откликнувшимся....
P/S/  Рисунок БД прилагаю

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  108.GIF 7,57 Kb
PM MAIL   Вверх
OVT
Дата 4.5.2010, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 29.8.2006

Репутация: нет
Всего: нет



Дай второму DBLookupComboBox в качестве источника данных не TTable, как вероятно ты делаешь, а TQuery с параметром:
Код

SELECT Razdel.id_razdel, Razdel.Name_razdel
FROM Razdel
WHERE Razdel.id_glava = :ID_Glava

Как только выбирается значение в первом DBLookupComboBox, используй значение его KeyField в качестве параметра для запроса во втором DBLookupComboBox:
Код

dmDataModule.Query.Active := False;
dmDataModule.Query.Params.Items[0].Value := DBLookupComboBox1.KeyValue;
dmDataModule.Query.Active := True;


 
PM MAIL   Вверх
superVad
Дата 4.5.2010, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 735
Регистрация: 6.4.2006
Где: Черкассы, Украина

Репутация: 3
Всего: 15



Да - а еще можно менять не параметр запроса в Query, а фильтр в TTable или ДатаСете...
PM MAIL   Вверх
Akella
Дата 4.5.2010, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



NARKOM, DBLookupComboBox служит для отображения данных ИЗ.... ИЗ... ИЗ... правильно, из набора данных. Значит фильтровать нужно что? Правильно smile -  набор данных, т.е. TDataSet, к которому привязан этот выпадающий список.
Что и пытались до тебя донести предыдущие участники дискуссии smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.