Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2007, 22:22   #1
DeadMan
 
Регистрация: 03.04.2007
Сообщений: 3
По умолчанию Проблема с вычисляемыми полями

Привет. У меня оч глупый вопрос(туплю). У меня есть вычисляемое поле в TTable, я пишу метод, который забивает все эти вычисляемые поля после открытия набора данных, тоесть заполняю их не в OnCalcFields. Сразу после вызова Post (или Next) поле обнуляется. Подскажите плиз из за чего может быть такая фигня? Код:
Код:
TableStaff.FieldValues['Rev_Inst']:=TableStaff.FieldByName('Surname').AsString+
     ' '+TableStaff.FieldByName('Name').AsString[1]+'. '+
        TableStaff.FieldByName('Patronymic').AsString[1]+'. ('+
        IntToStr(NRev)+'/'+IntToStr(NInst)+')';
TableSTAFF.Post;
DeadMan вне форума Ответить с цитированием
Старый 06.06.2007, 00:09   #2
konkurent
Пользователь
 
Регистрация: 10.04.2007
Сообщений: 51
По умолчанию

гм...а зачем тебе вычисляемое поле с такой фигнёй? прошу прощения.
e-mail=konkurent@gala.net
isq=498425545
konkurent вне форума Ответить с цитированием
Старый 06.06.2007, 13:18   #3
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Интересно, а как можно заранее вычислить такие поля? Где хранятся результаты этих вычислений?
Ведь значение вычисляемого поля определяется именно в обработчике по запросу, т.е. нужно оно, например, для отображения в таблице - вызывается обработчик, возвращается значение поля и всё, потом это значение "кончается". Примерно так же, как "кончается" локальная переменная после выхода из подпрограммы.
И естественно, после Post или Next требуется заново его вычислять для текущей записи.
Jeni вне форума Ответить с цитированием
Старый 06.06.2007, 13:28   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

может быть оно обнуляеца потому что при обновлении записи происходит пересчет вычисляемого поля, а так как обработчика нету, то он и выставляет 0. Тогда может лучше у TTable на какой-нить OnBeforePost вычисление повесить? Если не использовать отличия вычисляемого поля от обычного, то какой смысл в его использовании?
pu4koff вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с подстановачными полями в Delphi Ol'ga Общие вопросы Delphi 1 29.06.2008 13:58
Проблема с полями в Word 2007 Anry Microsoft Office Word 1 27.05.2008 07:46
xls-> xls с измененными полями falcon-x Общие вопросы C/C++ 1 22.01.2008 02:25
Не могу разобраться с полями..... Mitriy БД в Delphi 5 19.07.2007 15:09
операции над полями и строками zetrix Microsoft Office Excel 0 31.10.2006 08:08