Xpoint
   [напомнить пароль]

Не получается создать вычисляемое поле

Метки: [без меток]
2008-07-06 17:02:24 [обр] Иван[досье]
Я делаю приложение для редактирования таблицы БД в Borland C++Builder. Для этого использую таблицу COUNTRY базы данных BCDEMOS, содержащейся в комплекте C++ Builder:
- создаю новый проект
- размещаю на форме компоненты TTable и TDataSource
- для компонента Table1 устанавливаю следующие свойства:
   - устанавливаю свойство Database Name равным BCDEMOS
   - устанавливаю свойство TableName равным COUNTRY.DB
   - устанавливаю свойство Active равным true
- далее устанавливаю значение свойства DataSet компонента DataSource1 равным Table1
- вношу компоненты TDBGrid и TDBNavigator в форму
- присваиваю свойству DataSource обоих компонентов значение DataSource1
Компилирую, тестирую, - все работает нормально...
Используемая таблица содержит поля Area (площадь в кв.км) и Population (население). Требуется создать вычисляемое поле, содержащее плотность населения. Для этого:
- запускаю Fields Editor для компонента Table1
- вношу все поля этой таблицы в набор данных
- создаю новое поле с названием pop2:
   - в диалоговом окне New Field выбираю Float в списке Field type
   - поле Size неактивно, после выбора Float там стоит число 0
   - убеждаюсь, что выбрана радиокнопка Calculated, и щелкаю на кнопке OK
ВЫСКАКИВАЕТ ОШИБКА "Data Field not permitted on open Dataset"
Подскажите, что делать?
спустя 4 часа 25 минут [обр] Филипп Ткачев(0/115)[досье]
Отключитесь сначала от базы. Вы же создаете вычисляемое поле, для него нужно создать обработчик события OnCalcFields у вашей таблицы. Найдите книгу Архангельского. В ней написано как это сделать вполне доходчиво.
спустя 1 час 50 минут [обр] Иван[досье]
От базы я отключился, сделав для компонента Table1 свойство Active равным false и это позволило создать вычисляемое поле, ОГРОМНОЕ СПАСИБО ВАМ ЗА ПОМОЩЬ!!!
Обязательно найду книгу Архангельского, думаю, там много ценной информации.
С уважением, Иван
Powered by POEM™ Engine Copyright © 2002-2005