Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

Как организовать автосумму в Table, типа Excel, но вертикально?   Найти похожие ветки 

 
Step[B.M.] ©   (2002-11-29 01:34) [0]

... может есть компонент какой?
Это нужно для суммирования в таблице, например пункт
1. =
1.1. +
1.2. +
... +
1.n.


 
KSergey ©   (2002-11-29 05:56) [1]

Не совсем понятно, ночему "но вертикально". Посмотрите EhLib - ихний грид этим славится (чем - догадывайтесь сами, равно как мы гадаем над вопросом)


 
Victor_Cr ©   (2002-11-29 08:51) [2]

Ну можно сделать так
select sum(Field1) field1,...,sum(FieldN) fieldN from table
union
select * from Table

или так

select * from Table
union
select sum(Field1) field1,...,sum(FieldN) fieldN from table

Зависит от того где должна быть сумма сверху или снизу.
Ну и ессесно заменить Табле на Квери


 
Step[B.M.] ©   (2002-11-29 09:20) [3]

EhLib обязательно посмотрю, а вот Квери не подходит, по причине постоянной перерисовки грида во время вычислений...


 
krotik ©   (2002-11-29 09:40) [4]

Есть всего два пути:
1. Использовать нестандартные компоненты, типа Eh, Rx и прочую лабудень. Меньше хлопот, зато нельзя будет перекомпилить проект там где не установлены эти библиотеки.

2. Использовать непривязанные к датасетам компоненты, типа StringGrid или ListView (со стилем Report). Недостатки - самому постоянно перерисовывать. Я, например, пишу один раз функцию для полной перерисовки и вызываю ее каждый раз при изменении в базе. Иногда, когда изменения касаются всего одного числа, а я все-равно перерисовываю всю таблицу - не очень красиво выглядит. Достоинства - можно делать дизайн полностью на свое усмотрение, любые промежуточные и полные итоги, древовидная вложенность и т.д. Очень наглядным получается представление информации для пользователя, ибо практика показывает, что для чайника недоступно понимание того, что две таблицы могут быть связаны и во втором гриде информация по тому объекту, на котором стоит указатель в первом гриде. Тупые юзеры этого понять не могут, им лучше в виде дерева с заголовками/подзагаловками оформлять.


 
makdi   (2002-11-29 14:44) [5]

А почему не сделать вычисляемое поле и там все складывать? Я так понял тебе нужно складывать значения полей?
Сделать типа:
Table1.FieldByName("sum").AsInteger:=Table1.FieldByName("1.1").Asinteger+...+Table1.FieldByName("1.n").AsInteger
или я ошибаюсь, тебе нужно не это?



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

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
14-61810
начинающий програмер
2002-11-28 17:39
2002.12.19
Delphi7


14-61790
В режиме поиска
2002-11-28 13:47
2002.12.19
Где скачать книги по Delphi в инете?


8-61712
Sniffer
2002-09-04 17:21
2002.12.19
OpenGL и перспектива


3-61484
Suharew
2002-11-30 16:36
2002.12.19
Одновременная работа двух БД


3-61509
mike-d
2002-12-02 21:30
2002.12.19
sql запрос на сравнение