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