![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Организация выбора из справочника! [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...