Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить сумму поля 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]

Пройти по всем записям и посчитать...


Наверх

Титульная страница Поиск, карта сайта Написать письмо