Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: CL | DM;

Вниз

Как получить сумму поля 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.055 c
3-1087301567
zevsus
2004-06-15 16:12
2004.07.11
Interbase(Firebird 1.5): Опустошение и репликация


1-1088003235
Новенький
2004-06-23 19:07
2004.07.11
Имя файла


4-1085945946
Остап
2004-05-30 23:39
2004.07.11
закрытие процесса


1-1087819075
tamagavk
2004-06-21 15:57
2004.07.11
Cохранение StringGrid


14-1087838328
MacroDenS
2004-06-21 21:18
2004.07.11
Матак Пати......