Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.008 c
3-56459
DimChan
2003-10-29 09:12
2003.11.17
AccessViolation


14-56914
TCrash
2003-10-25 00:32
2003.11.17
Хандра :-(


4-56946
Чито
2003-09-24 09:10
2003.11.17
Сообщения в свернутое окно


1-56610
MaG
2003-11-05 17:05
2003.11.17
Регистрация


1-56686
TRyaSS
2003-11-06 15:21
2003.11.17
Как в Паскале вычислить корень 3 или 4 или n степени





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский