![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Добрый вечер! Подскажите, пожалуйста, как сделать так, чтобы в DBLookupComboBox2 выпадал список в зависимости от значения DBLookupComboBox1. Уточню, в DBLookupComboBox1 выбирается поле Hoses. И вот в зависимости от значения данного поля, надо вывести в DBLookupComboBox2 только те ListField, в записи которых значения Hoses совпадают со значениями DBLookupComboBox1
|
#2
|
|||
|
|||
![]() 1. Делаешь связь между источникаси данных для лукапов типа Master-Detail. Все будет работать автоматически, но обы списка реально будут грузиться посностью.
1а. Вариант того же, но на основе OnfilterRecord - реализуешь фильтрацию на уровне обработчика указанного события. 2. Делаешь загрузку данных во второй источник а момент получения фокуса компонентом DBLookupComboBox2. там на уровне запроса можно указать как фильтровать данные. |
#3
|
|||
|
|||
![]() Цитата:
![]() |
#4
|
||||
|
||||
![]() пример для подключения Query1 в качестве источника данных для Комбо2:
Код:
procedure TForm1.DBLookupComboBox2Enter(Sender: TObject); begin Query1.Close; Query1.SQL.Text:='SELECT FieldForBox FROM MyTable WHERE KeyFieldForBox = '+DBLookupComboBox1.Value+''; Query1.Open; end; Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#5
|
||||
|
||||
![]() А нафига козе баян? Все намного проще и делается автоматом.
Допустим имеется таблица Словари в ней есть три поля Код,Понятие,Словарь. Теперь мы хотим организовать связку двух комбиков, так чтобы в первом выводились Словари а во втором синхронно Понятия для выбранного словаря из первого комбика. Бросаем на форму 2 квери и 2 датасоурса. Для первого квери заполним поля: Код:
Connection := AdoConnection1; SQL := 'select Словарь from Словари group by Словарь'; Код:
Connection := AdoConnection1; DataSource := DataSource1; SQL := 'select * from Словари where Словарь = :Словарь'; Код:
ListSource := DataSource1; ListField := 'Словарь'; KeyField := 'Словарь'; Код:
ListSource := DataSource2; ListField := 'Понятие'; KeyField := 'Словарь'; Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
|||
|
|||
![]() Цитата:
Одна проблема. Поля (ЛистСорсы) находятся в разных таблицах. И одно поле первой таблицы буквально просто дублируется другим полем в другой таблице. |