Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Calculated Fields [D6, IB5.x]


Olegka ©   (2004-03-04 11:18:00) 

Привет всем!

У меня такая проблема: есть поле CODE и SUM. В зависимости от CODE надо разнести SUM в 2 calculated fields: Income и Outcome. Пишу обработчик OnCalcFields.

procedure TForm.IBDS2CalcFields(DataSet: TDataSet);
begin
if DataSet.FieldByName('CODE').AsInteger<4
then
begin
  IBDS2income.Value:=DataSet.FieldByName('SUM').AsFloat;
  IBDS2outcome.Value:=0;
end
else
begin
  IBDS2income.Value:=0;
  IBDS2outcome.Value:=DataSet.FieldByName('SUM').AsFloat;
end
end;


И пишет при присваивании значений, что датасет на в dsEdit mode.
И где я не прав? :(

Заранее спасибо, Olegka


Olegka   (2004-03-04 11:52:00) [1]

Спасибо!
Пересоздание полей помогло!
Во как :))))


Zacho   (2004-03-04 11:40:00) [2]

Попробуй удалить эти поля и пересоздать их заново. А код у тебя правильный.


Olegka   (2004-03-04 11:34:00) [3]

To Артем
В обработчике OnCalkFields нельзя менять состояние Dataset, оно в dsCalk и так

To Nikolay
Точно :(


Johnmen   (2004-03-04 11:30:00) [4]

Поля income и outcome должны быть FieldKind=fkCalculated
Они есть в НД и их нет в таблице...


Nikolay M.   (2004-03-04 11:29:00) [5]


> IBDS2income.
> IBDS2outcome.

Точно указаны как Calculated?


Карелин Артем   (2004-03-04 11:24:00) [6]

Ну если просит, то вот:
DataSet.Edit;
***
DataSet.Post;

Я лично вешаю на OnGetText у поля отсебятину.


Наверх

Титульная страница Поиск, карта сайта Написать письмо