Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизКак получить сумму поля fld в TClientDataSet? Найти похожие ветки
← →
serg128 (2004-06-17 16:12) [0]Т.е. имеем: клиетский датасет, в котором есть числовое поле fld.
Как получить сумму всех его значений? Я слышал есть какие-то ф-ции типа min max sum и т.д. которые отрабатывают на клиентской стороне, но я не знаю как их юзать. Помогите плиз! :))
← →
Johnmen © (2004-06-17 16:19) [1]Пройти по всем записям и посчитать...
← →
serg128 (2004-06-17 16:24) [2]Это не серьёзно...
← →
Sandman25 © (2004-06-17 16:32) [3][2] serg128 (17.06.04 16:24)
Ну, конечно, эти функции бы цикл не делали. Они магические...
← →
serg128 (2004-06-17 16:41) [4]Я к тому, что они возможно оптимальнее написаны, а сделать:
cds->First();
float f = 0;
while(!cds->Eof)
{
f += cds->FieldByName("fld")->AsFloat;
cds->Next();
}
слишком много ума ненадо...
← →
Johnmen © (2004-06-17 16:43) [5]:)
А что значит оптимальнее ?
← →
default © (2004-06-17 16:48) [6]самое оптимальное это при доб-ии новой записи прибавлять знач-ие поля fld в результ-ую сумму, при удалении вычитать)
← →
Johnmen © (2004-06-17 16:50) [7]>default © (17.06.04 16:48) [6]
А при изменении - ... ? Правильно ! :)
Осталось только получить начальное значение суммы :))))))
← →
bushmen © (2004-06-17 16:51) [8]> прибавлять знач-ие поля fld в результ-ую сумму, при удалении вычитать
Ага, придет злобный дядя администратор и ручками удалит запись из таблицы и вся информативность сразу же полетит. :)
← →
default © (2004-06-17 16:55) [9]bushmen © (17.06.04 16:51) [8]
тогда (2)
Johnmen © (17.06.04 16:50) [7]
начальное можно сохранять(1) либо циклом находить(2)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.036 c