function SumField(const fieldName : OpenString) : longint; var fld : TField; bm : TBookmark; // закладка begin result := 0; tbl.DisableControls; // выключаем рекцию на перемещение по набору данных bm := tbl.GetBookmark; // сохраняем позицию fld := tbl.FieldByName(fieldName); tbl.first; while not tbl.eof do begin result := result + fld.AsInteger; tbl.next; end; tbl.GotoBookmark(bm); // позиционируем обратно tbl.EnableControls; // включаем реакцию на перемещение по набору данных end; |
Спасибо Alexsander за ценное замечание [000542]