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;
|