Главная страница
    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.46 MB
Время: 0.01 c
14-56917
}|{yk
2003-10-24 16:53
2003.11.17
Как размножаются кроты?


14-56829
Volcano
2003-10-28 08:02
2003.11.17
Профессия


3-56468
DimChan
2003-10-24 07:21
2003.11.17
TQuery


1-56690
Zheks
2003-11-07 13:37
2003.11.17
Типы


14-56880
undert
2003-10-26 03:05
2003.11.17
ПОМОГИТЕ! Конфигурирование Apache





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский