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

Вниз

Динамическое получение суммы по полю.   Найти похожие ветки 

 
LordBTR   (2003-10-27 16:33) [0]

Вносим записи в Query (CachedUpdates:=True) в поле sumv.
И как в этой ситуации просуммировать поле, если измененния еще не ApplyUpdates?


 
Danilka ©   (2003-10-27 16:34) [1]

а какой смысл, если они не ApplyUpdates?


 
Sandman25 ©   (2003-10-27 16:38) [2]

Два способа: либо при необходимости вывести сумму быстренько пробежаться по dataset и посчитать ее либо при при открытии dataset посчитать сумму (либо отдельным запросом, либо пробежавшись как в первом способе), а затем при изменении данных отслеживать изменение суммы.


 
LordBTR   (2003-10-27 16:46) [3]

> Danilka
В том и смысл: "эпплаить их или нет?"

> Sandman25
> либо при необходимости вывести сумму быстренько пробежаться по > dataset и посчитать ее
Тут чего то не пойму. Как пробежаться и посчитать? До ApplyUpdates новый запрос измененний не увидит. :(
> при открытии dataset посчитать сумму (либо отдельным запросом
Это делаю.
> а затем при изменении данных отслеживать изменение суммы.
Т.е. AfterInsert sumv=sumv+QuerySUMV.Value;
AfterDelete sumv=sumv-QuerySUMV.Value;


 
Sandman25 ©   (2003-10-27 16:50) [4]

>Тут чего то не пойму. Как пробежаться и посчитать? До ApplyUpdates новый запрос измененний не увидит. :(

Посчитать с помощью First while not Eof do Next в том же Dataset, который проводит изменения.

>Т.е. AfterInsert sumv=sumv+QuerySUMV.Value;
AfterDelete sumv=sumv-QuerySUMV.Value;

Да, примерно так. Только надо еще и на изменение реаигировать, если у Вас есть такая операция с данными.


 
LordBTR   (2003-10-27 16:59) [5]

> Sandman25
Ну вобщем-то я и предполагал, что так придется делать, но надеялся, что есть способ лучше. Я уж и ClientDataSet с аггрегатным полем пытался прикрутить, но он тоже только после ApplyUpdates сумму обновляет. :(


 
LordBTR   (2003-10-27 17:19) [6]

> Sandman25
> Посчитать с помощью First while not Eof do Next в том же
> Dataset, который проводит изменения.
Да. Спасибо. Так получилось. Но все же может можно как-нибудь иначе (покрасивше), а то эта беготня Next по массиву...


 
Sandman25 ©   (2003-10-27 17:23) [7]

[6] LordBTR (27.10.03 17:19)

"Покрасивше" будет вторым способом из [2] Sandman25 © (27.10.03 16:38)
Только мороки больше.


 
LordBTR   (2003-10-27 17:28) [8]

> Sandman25
Ok. Принимаем способ первый. Спасибо.


 
Danilka ©   (2003-10-27 17:29) [9]

[8] LordBTR (27.10.03 17:28)
второй лучше :))


 
LordBTR   (2003-10-28 16:42) [10]

> Danilka [9]
Предложи лучше третий способ самый красивый. :))



Страницы: 1 вся ветка

Текущий архив: 2003.11.17;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
8-56769
r0n1n
2003-07-19 02:28
2003.11.17
Разрешение видео


4-56947
Dmk
2003-09-21 15:08
2003.11.17
AbortDoc - странности


1-56562
Gray Angel
2003-11-06 13:53
2003.11.17
Довесок к Exeption


14-56875
Vlad Oshin
2003-10-26 15:57
2003.11.17
Антология -


1-56699
Ganjo
2003-11-07 13:08
2003.11.17
Размер задествованих ресурсов