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

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

Вычисление суммы [D6, Access]


shnidke ©   (2003-08-25 22:32:00) 

Не могу разобраться в чем дело?! Пишу код
procedure TDataModule2.MainTableCalcFields(DataSet: TDataSet);
var s,s1: LargeInt;
begin
s:=0; s1:=0;
Datamodule2.MainTable.First;
while not datamodule2.MainTable.Eof do begin
s:=s+Datamodule2.MainTableFact.Value;
s1:=s1+Datamodule2.MainTableKorrection.Value;
datamodule2.MainTable.Next;
end;
Datamodule2.MainTableTotalF.Value:=s;
Datamodule2.MainTableTotalK.Value:=s1;
end;
end.
...... и выскакивает такая ошибка

Project AGRS.exe raised exception class EStackOverflow with message "Stack overflow". Process stoped.
Use Step or Run to continue.
Помогите чем можно. Заранее спасибо


ЮЮ   (2003-08-26 03:20:00) [1]

>onCalcFields вызывается для каждого расчитываемого значения

onCalcFields вызывается для текущей записи. В этом обработчике нельзя перемещаться по НД, что приводит к смене текущей записи и новому вызову обработчика


sniknik   (2003-08-26 00:36:00) [2]

onCalcFields вызывается для каждого расчитываемого значения, а ты в нем всю таблицу с начала до конца, нехорошо, да еще и присваивание. циклишся однако.

(вынеси то же самое на кнопку, не будет)


Наверх

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