Форум: "Базы";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
ВнизДинамическое получение суммы по полю. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c