Доброго времени суток,коллеги. Возникла такая проблема:
имеется 2 таблицы Tovar и Tovar_type, связанных через поле Type_id
Имеется форма добавления нового товара
---------------------------
Название | dbedit1
|
---------------------------
---------------------------
Тип товара | dblookupcombobox1 |
---------------------------
adoconnection, adoquery1,adoquery2,datasource1,datasource2
adoquery1.sql.text='select * from Tovar'
adoquery2.sql.text='select * from Tovar_type'
в dblookupcombobox1 указываю datasource=datasource1,datafield=type_id,listsource=datasource2,lisfield=type(н
азвание типа),keyfield=type_id
необходимо чтобы через dblookupcombobox1 можно было выбрать тип товара по имени и вокнуть его айдишник в поле type_id в таблице tovar.
запускаем. вроде всё нормально, но при попытке изменить dblookupcombobox1 вылетает ошибка
Cannot access field 'Type_id' as type Variant
кто сталкивался с таким, подскажите как это поправить
з.ы. юзаю делфи 7 и sql server 2008
з.ы.ы. знаю в принципе как сделать через ж#пу, но хочется сделать нормально
Добавлено через 19 мин.
я так понимаю здесь идет несоответствие типов, dblookupcombobox берет id перебивает его в variant, и затем пытается воткнуть этот variant в type_id имеющий тип integer
Добавлено через 7 мин.
сменил в таблице Tovar тип Type_id с bigint на char, ошибка пропала, но это не дело. Вопрос теперь ставится по другому - как сделать чтобы dblookupcombobox1 передавало в поле Type_id не Variant, а integer?
Сообщение отредактировано: Feagor -
Lookupcombobox как правильно связать таблицы |