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