"...а хуже всего приходится программистам из Microsoft. Им, бедолагам, в случае чего и обругать-то некого..."
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;
whilenot tbl.eof dobegin
result := result + fld.AsInteger;
tbl.next;
end;
tbl.GotoBookmark(bm); // позиционируем обратно
tbl.EnableControls; // включаем реакцию на перемещение по набору данныхend;
Функция SumField вычисляет сумму значений поля с указанным именем в таблице, выполняя это при помощи рекурсивного прохода по всем строкам таблицы.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.