![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO + SQL Server 2000, подстановочные поля [D6, MSSQL]
falcon © (2002-07-30 11:20:00)День добрый !
Есть Windows NT Server 4.0 EE с установленной на нем БД SQL Server 2000 EE.
Клиент пишется на Delphi 6 и для доступа к БД используется ADO.
Есть четыре таблицы:
Detail - основная
Detail_Type, Liter, Format_Chert - справочные
В таблице Detail есть три числовых поля, информация в которые заносится из справочных таблиц:
Detail["Nom_Type"] <- Detail_Type["Nom_Type"]
Detail["Id_Litera"] <- Liter["Id"]
Detail["Id_Format_Chert"] <- Format_Chert["Id"]
В редакторе полей таблицы Detail создаю три новых подстановочных поля типа Lookup для отображения в DbGrid символьной информации из справочных таблиц.
Добавляю новую запись:
ADOConnection1.BeginTrans;
Detail.Append;
Detail_Type.First;
Detail["Nom_Type"] := Detail_Type["Nom_Type"];
Liter.First;
Detail["Id_Litera"] := Liter["Id"];
Format_Chert.First;
Detail["Id_Format_Chert"] := Format_Chert["Id"];
При операциях присваивания выдается следующее сообщение: "Ошибка неизвестного типа".
Если в редакторе полей оставить только одно подстановочное поле и изменить приведенный выше код на:
ADOConnection1.BeginTrans;
Detail.Append;
Detail_Type.First;
Detail["Nom_Type"] := Detail_Type["Nom_Type"];
то все проходит без ошибок. То есть проблема возникает при наличии вычисляемых полей больше одного.
Подскажите как можно обойти эту проблему. Заранее благодарен за ответ.
ЮЮ (2002-07-31 03:35:00) [1]Detail["Nom_Type"] ,по-моему, есть TField
Detail["Nom_Type"].Value := Detail_Type["Nom_Type"]].Value;