![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
![]()
В столбце А DBGrid содержатся цифры. Нужно чтобы например в label1 отображалась сумма всех цифр столбца. В данном случае, как на рисунке, сумма будет равна 17. Как это сделать, и в каком событии?
|
![]() |
![]() |
![]() |
#2 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
В цикле просуммировать значения данного поля по всем записям НЕ ДБГРИДА, А ДАТАСЕТА (ТАБЛИЦЫ), откуда дбгрид берет данные.
Код:
|
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Хм... Ну можно извратиться и посчитать сумму в OnCalcFields, создав дополнительное вычисляемое поле...
Но я лично предпочел бы запросик написать на SQL для суммирования Select sum(поле); - он вернет всего одну запись с одним полем тогда Query.Field[0].AsFloat нацеленный на этот запрос даст нужный результат. От mihali4 Дружище, тогда придется объяснять, что такое SQL, как составить запрос, как получить оттуда сумму и т.д.
I'm learning to live...
Последний раз редактировалось mihali4; 23.11.2009 в 17:15. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
![]()
Тут вопрос скорей, где бы лучше код написать, чтобы цикл не пробегал все время по таблице. Если в OnFormShow, это будет не заметно, но зато данные не будут обновляться при каждом изменении. А нужно чтобы сумма изменялась. Вот можно это как-то сделать без пробега цикла по таблице?
|
![]() |
![]() |
![]() |
#5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
А при чем тут OnFormShow???
Достаточно один обработчик с этим циклом назначить на события Table.AfterOpen и Table.AfterPost... |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 04.01.2008
Сообщений: 201
|
![]()
это то верно, но когда дело доходит до Table.AfterPost, цикл пробегает по всей таблице!! и каждый раз это не очень то удобно. Нужно чтобы цикл работал незаметно. Это можно сделать?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сумма ячеек | pirat:) | Microsoft Office Excel | 6 | 25.12.2008 05:31 |
В прямоугольной матрице переставить столбцы так, чтобы сумма элементов столбца росла от первого столбца | Aleo13 | Помощь студентам | 5 | 15.10.2008 18:34 |
Сумма ячеек | artemavd | Общие вопросы Delphi | 11 | 24.07.2008 16:36 |
сумма столбца | zetrix | БД в Delphi | 1 | 01.11.2006 15:42 |