Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Организация выбора из справочника! [D7, WinXP]


Fatal ©   (2004-12-06 22:24:00) 

Доброго времени суток.
Народ, помогите пожалуйста измучился :)
Есть реляционная база данных, к примеру в ней две таблицы:
1 - Журнал документов; 2 - Справочник исполнителей;
Создаю форму ввода записи в журнал, на ней есть компонент ComboBox содержащий список исполнителей выдернутый из справочника исполнителей при создании формы. Дак извращаюсь знаете как? :)
Создаю динамический массив [0..n] который содержит соответствие м/у позицией в ComboBox и певичным ключом RowID в таблице исполнителей. При insert или update естественно в журнал документов пишется данный ключ... вдроде всё прекрасно работает но!!! Замучался в разных программах с ентими массивами :)

Неужели нет стандартного компонента? Кто как данную задачу решает?

Помогите пожалуйста.


Fatal   (2004-12-06 23:27:00) [1]

ООооооо спасибо всем!!!! Кто помогал!!!  Разобрался :)

 object KonDBLCB: TDBLookupComboBox
   Left = 8
   Top = 144
   Width = 193
   Height = 21
   KeyField = 'Contface_ID'
   ListField = 'Contface_Name'
   ListFieldIndex = 1
   ListSource = DataSource1
   TabOrder = 4
 end

Заработала!!!


Fatal   (2004-12-06 23:19:00) [2]

z_man ©   (06.12.04 23:12) [9]

object KonDBLCB: TDBLookupComboBox
   Left = 8
   Top = 144
   Width = 193
   Height = 21
   DataField = 'Isp_name'
   DataSource = DataSource1
   KeyField = 'Isp_ID'
   ListField = 'Isp_Name'
   TabOrder = 4
 end

Не работает :(


z_man   (2004-12-06 23:12:00) [3]

в свойстве KeyField укажи поле - isp_id, а в свойстве ListField - isp_name


Fatal   (2004-12-06 23:09:00) [4]

Таблицы связаны!!!
Но выбор исполнителя, на форме добавления, осуществляется из одной таблицы! В первую вписывается лишь isp_id. Примерно так:

insert into jornal (isp_id) Values(8)...


Ильичев С.А.   (2004-12-06 23:04:00) [5]


> А компонент TDBLookupComboBox насколько я помню служит для
> связывания двух таблиц по полю KeyValue.... :(


Так у тебя таблицы связаны или нет, я не пойму.


Fatal   (2004-12-06 23:00:00) [6]

Сорри KeyField


Fatal   (2004-12-06 22:58:00) [7]

Zacho ©   (06.12.04 22:52) [3]
z_man ©   (06.12.04 22:53) [4]

Да но таблица то одна!!! -> Справочник исполнителей.
Два поля isp_id и isp_name мне нужно знать какой isp_id вписать в журнал документов и всё а отображать можно только имена исполнителей :)
А компонент TDBLookupComboBox насколько я помню служит для связывания двух таблиц по полю KeyValue.... :(
Или я им не умею пользоваться :)


z_man   (2004-12-06 22:53:00) [8]

Fatal
тебе сможет помочь, насколько я помню, компонент - TDBLookupComboBox и его метод - KeyValue. Оно хранит значение поля, которое ты укажешь в свойстве - KeyField


Zacho   (2004-12-06 22:52:00) [9]

См. TDBLookupComboBox - именно для таких вещей он и предназначен.


Fatal   (2004-12-06 22:38:00) [10]

Kolan ©   (06.12.04 22:33) [1]

Да... я их знаю :)
Ну и какой из них подходит в качестве справочника в стиле ComboBox?
Можно конечно еще извратнутся с DBGrid'ом сделать его разворачивающимся :) ну не серьезно это!


Kolan   (2004-12-06 22:33:00) [11]

Если правильно понял то тебе помогут компоненты с Data Controls и BDE. И SQL...


Наверх

Титульная страница Поиск, карта сайта Написать письмо