Есть 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'];
то все проходит без ошибок. То есть проблема возникает при наличии вычисляемых
полей больше одного.
Подскажите как можно обойти эту проблему. Заранее благодарен за ответ.