Показать сообщение отдельно
  #1  
Старый 04.04.2015, 17:14
Chiffa93 Chiffa93 вне форума
Прохожий
 
Регистрация: 04.04.2015
Сообщения: 2
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Взаимодействие DBLookupCombobox

Здравствуйте!
Возникла проблема: никак не могу понять, как связать между собой DBLookupComboBox1 и DBLookupComboBox2.
Есть две таблицы: таблица Районы с полями Код, Название района и таблица Метро с полями Код, НазваниеМетро и IDРайона.
В БД таблицы связаны между собой через поля Районы.Код и Метро.IDРайона.

С помощью ADOQuery делаю запрос на выборку из этих таблиц и получаю результат с полями: Районы.Код, Районы.Название, Метро.IDРайона и Название.Метро.
К ADOQuery через DataSourse1 подключаю DBLookupComboBox1 (KeyField: Районы.Код, ListField:Районы.Название) и DBLookupComboBox2(KeyField: Районы.Код, ListField:Метро.Название).

Задача состоит в том, чтобы после выбора района в DBLookupComboBox1 в DBLookupComboBox2 оставались только станции метро, расположенные в этом районе.

Эта задача у меня и не выходит. Бокс с районами выводит повторяющиеся названия районов, а второй бокс просто выводит все станции метро. Возможно, неправильно указал KeyField или ListField в обном из боксов. К сожалению, не могу понять, где именно.
Искал в интернете, нашёл либо проиворечивые объяснения, либо неполные для моего уровня знаний. Понял только, что DBLookupComboBox'ы надо подчинить один другому через DataSet. А вот как именно, не понятно.

Понимаю, что, скорее всего, задача банальна до невозможности, но очень прошу помощи. Несколько часов ломаю голову над этим.

С Уважением.
Ответить с цитированием