Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Calculated Fields   Найти похожие ветки 

 
Olegka ©   (2004-03-04 11:18) [0]

Привет всем!

У меня такая проблема: есть поле 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


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

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

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


 
Nikolay M. ©   (2004-03-04 11:29) [2]


> IBDS2income.
> IBDS2outcome.

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


 
Johnmen ©   (2004-03-04 11:30) [3]

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


 
Olegka ©   (2004-03-04 11:34) [4]

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

To Nikolay
Точно :(


 
Zacho ©   (2004-03-04 11:40) [5]

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


 
Olegka ©   (2004-03-04 11:52) [6]

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



Страницы: 1 вся ветка

Текущий архив: 2004.04.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
1-1079432613
MIKL_b
2004-03-16 13:23
2004.04.04
Потоки не пашут паролельно! По очереди они...


7-1074074797
Serg_g
2004-01-14 13:06
2004.04.04
Функция SetNetScheduleAccountInformation


11-1058185200
Sagrer
2003-07-14 16:20
2004.04.04
Проблема с размером окна в XP.


6-1074675048
Behemoth
2004-01-21 11:50
2004.04.04
IdTCPServer - Где лежат IP-адреса клиентов?


4-1076959380
Дубинин Алексей
2004-02-16 22:23
2004.04.04
Как отловить сообщение о скроллинге