![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| vovchik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.1.2004 Репутация: нет Всего: нет |
Доброе время суток всем!!! Помогите мне пжалуста, не могу сообразить.
Есть база данных, DBGrid с данными, данные отфильтровываются SQL запросом. Необходимо что бы после фильтрации данные которые остались в DBGride суммировались по строкам в определённом столбце, и сумма показывалась хотя бы в Edit или в Label. Усли кто поможет кусочком кода, буду благодарен.[email protected] |
|||
|
||||
| Serggggg |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 136 Регистрация: 12.12.2003 Где: Донецк, Украина Репутация: нет Всего: нет |
Если только в Edit - пожалуйста!
Допустим, твой запрос, связанный с Grid, носит имя Query1. Тогда используй integer-переменную i и float-переменную sum или массив sum [1..n]. Итак, поехали: //Обнуляем sum sum:=0; //Установка указателя на первую запись в Grid'е Query1.First; //Считаем сумму в цикле, перемещаясь по записям for i:=0 to Query1.RecordCount-1 do begin //j - номер нужного поля в запросе sum:=sum + Query1.Fields.Fields[j].AsFloat; Query1.Next; end; Edit1.Text:=FloatToStr(sum); --------------------
C уважением, Serggggg. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: 2 Всего: 60 |
Есть способ лучше:
если в DBEdit, то вторым (или этим же) квери выполняешь запрос типа
а DBEdit привязываешь к DataSource Квери. А в гриде надо создать поле типа калькулейшин и прописать ексепш типа полеС = полеА+полеБ . -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
А еще можно использовать DbGridEh - там есть агрегативные функции. См.FAQ
-------------------- Все знать невозможно, но хочется |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
Если будешь использовать этот способ и таблица большая, то лучше сначала отключить DataSource, а потом включить его обратно... Почему-то так быстрее считает.... Наверно, время на отрисовку движения по гриду не тратится.... |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Maverick, отключать ничего не надо, для этого существуют DisableControls .. EnableControls. а насчёт отрисовки - именно так
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Согласен. А еще лучше использовать dxDBGrid, из библиотеки DevExpress Express Quantum Grid. -------------------- |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
Pegas, дык она вроде не бесплатная?
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
У меня бесплатная...
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |