![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Помогите решить проблему.
Есть БД сделанная в акцесе, привязал ее к DBGrid. На форму поместил ComboBox, Edit и Image. К комбобоксу привязал БД. Нужно чтобы из выбираемого списка в комбобоксе отображались другие данные в эдите и имайдже из этой БД. Пробовал на форму поместить DBComboBox, DBEdit и DBImage, привязал с помощью дата сурса, работать отказывается, хотя если выбирать данные с грида, то все отображает, но нужен выбор с комбобокса. |
#2
|
|||
|
|||
![]() Тебе нужно в этом случае руками переключать записи в датасорсе.
Дело в том, что DBImage и DBEdit отображают данные из текущей записи. Т.е. тебе, при выборе некоторого значения в ComboBox, надо переключить соотв. датасорс на нужную запись. Тут соответсвенно встает вопрос как ты заполняешь ComboBox со всеми вытекающими... |
#3
|
|||
|
|||
![]() Цитата:
Т.е. нужен еще один датасорс, даже несколько? Цитата:
Вот так: Код:
begin DBComboBox1.Clear; DBComboBox1.ItemIndex:=0; while not ADOQuery1.Eof do begin BD.Columns[1].PickList.add( ADOQuery1.FieldByName('vid').AsString); DBComboBox1.Items.Add(ADOQuery1.FieldByName('vid').AsString); ADOQuery1.Next; end; ADOQuery1.First; end; Последний раз редактировалось T_N_W, 06.05.2010 в 20:52. |
#4
|
|||
|
|||
![]() Цитата:
Такое вообще возможно сделать в Делфи? А то уже 2 недели парюсь, все никак не найду выход. ![]() |
#5
|
||||
|
||||
![]() давай уточним.
1. Есть поле, которое отображается в ComboBox. 2. Выбираем запись в ComboBox. 3. В Edit и в Image отображаются данные в зависимости от того что ты выбрал. так? |
#6
|
||||
|
||||
![]() Если так то вариант такой:
Допустим есть 2 таблицы а и b. в а есть поле с1 по которому надо выбирать данные в b есть три поля С1 Е1 и I1 которые хранят Е1- данные которые надо отобразить в Edit, I1 - картинка. Кидаем два Query и 2 DaraSource, связываем их В первом Query пишем: select * From a Во втором Select b.E1,b.I1 From b WHERE b.C1=:C1P В delphi возьми DBLookupComboBox свяжи его с query1 DBEdit и DbImage свяжи с соответствующими полями query2. В обработчике события DBLookupComboBox1Click напиши Query2.close; Query2.ParamByName('C1P').Value:=Query1.FieldbyNam e('C1').As...; Query2.open; |
#7
|
|||
|
|||
![]() Цитата:
По 3-му пункту, данные как раз неотображались, но эту проблему, слава богу, удалось решить. Теперь надо разделить два DBComboBox, чтобы при выборе в одном КБ неотображалась инфа во втором КБ и все к нему привязанное. Все, сделал, тема закрыта. Последний раз редактировалось T_N_W, 12.05.2010 в 23:52. |