![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 у поля отсебятину.