Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

Общая сумма в DBGrid колонке   Найти похожие ветки 

 
dron-s ©   (2004-12-21 20:26) [0]

Мастера, помогите решить вопрос: как сосчитать общую сумму одной колонки в DBGrid"е?


 
sniknik ©   (2004-12-21 21:11) [1]

она тебе не нужна (ничего не отражает).
ну скажи зачем тебе сумма из 20 видимых строк из пары сотен всего имеющихся (к примеру).


 
dron-s ©   (2004-12-21 21:28) [2]

У меня такая ситуация, у меня идёт подсчёт за каждую позицию(вместе с процентами, налогами и т.д), а в конце мне надо состичать общую сумму всего товара. Как это сделать?


 
PEAKTOP ©   (2004-12-22 00:22) [3]

Не мучаться, а поставить DBGridEh Димы Большакова.

http://ehlib.com/rus/


 
dron-s ©   (2004-12-22 18:45) [4]


> Не мучаться, а поставить DBGridEh Димы Большакова.
>
> http://ehlib.com/rus/


И что измениться, что он начнёт сам считать?


 
Zacho ©   (2004-12-22 19:45) [5]

dron-s ©   (22.12.04 18:45) [4]

А посмотреть ? TDBGridEh действительно такое может "сам", без написания какого-либо кода. И ещё много чего может.

Ну если ты принципмально не хочешь сторонних компонент, то считай суммы запросом SELECT MAX(..) .. или в цикле по набору данных.


 
dron-s ©   (2004-12-22 21:22) [6]

Как он начинает считать, какие опции надо включить чтобы он начал считать?


 
Skyle ©   (2004-12-22 21:38) [7]

> dron-s ©   (22.12.04 21:22) [6]
Не ленись и возьми обычный TDBgrid для отображения.
Просто скажи своему DataSet"у например в OnCalcFields, чтобы он всё пересчитал....


 
Zacho ©   (2004-12-22 21:58) [8]

dron-s ©   (22.12.04 21:22) [6]

В комплекте EhLib есть примеры. Посмотри, там это есть. И в хелпе тоже есть.
Обрати внимание на всё, связанное с footer и SumList

> Просто скажи своему DataSet"у например в OnCalcFields,
> чтобы он всё пересчитал....

Что-то я не понял, как OnCalcFields поможет для расчёта суммы по всем записям DataSet"а :)
Имхо ему нужно именно что-то типа футера. Или просто эту сумму выводить в какой-нибудь лейбл или статусбар и т.п.


 
dron-s ©   (2004-12-22 22:15) [9]

Просто отображать общуюю сумму лейбл


 
dron-s ©   (2004-12-22 22:34) [10]


> Просто скажи своему DataSet"у например в OnCalcFields, чтобы
> он всё пересчитал....


Как ему это сказать!!


 
Kabaev Sergey ©   (2004-12-24 10:31) [11]

Можно использовать в качестве DataSet компонент TClientDataSet. У него есть агрегаты - есть возможность считать любые итоговые поля. А потом показывать значения в TLabel, как советовали.
Но это громоздкий вариант. Если нет запрета на использование сторонних компонент, то действительно проще взять TDBGridEh


 
msguns ©   (2004-12-24 12:22) [12]

И все-таки не могу объяснить упорное "а где мне взять такую сетку ?" ничем иным, как банальной ленью.
Вот имеем запрос на отображение некоего датасета, назовем это "основой запрос" (ОЗ). Требуется по некоторым колонкам получить сумму (или кол-во, т.е. некий агрегат).
ОЗ состоит из нескольких частей: SELECT, WHERE (JOIN) и ORDER BY

Построим второй запрос, который заменяет SELECT ОЗ на перечень агрегатов: SUM(<Field1>),COUNT(<Field2>),MAX(<Field2>),..
Выполнение этого запроса засовываем в процу, которую "дергаем", например, по событию AfterOpen основного запроса. В этой же проце присваиваем значения соответствующим объектам отображения агрегатов..
Ну ведь абсолютно ничего сложного ! Ну разве если основной запрос не статический..



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.034 c
14-1105447298
}|{yk
2005-01-11 15:41
2005.01.30
Самые известные высказывания Буша, собранные Умберто Эко.


4-1102700725
zioza
2004-12-10 20:45
2005.01.30
Сменить раскладку клавиатуры, другому активному окну


6-1099904771
alexb_1
2004-11-08 12:06
2005.01.30
Исходник download-менеджера


3-1103801711
}|{yk
2004-12-23 14:35
2005.01.30
Где ошибка в триггере?


14-1105427525
syte_ser78
2005-01-11 10:12
2005.01.30
Avp personal





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