Главная страница
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.02 c
3-61495
Polevi
2002-12-02 12:55
2002.12.19
Альтернатива MIDAS


14-61789
Grifon
2002-11-22 22:11
2002.12.19
---|Ветка была без названия|---


6-61721
shelest
2002-10-23 12:06
2002.12.19
Кодировка писем при получении через POP3


1-61654
basile
2002-12-07 12:04
2002.12.19
Рисование в TreeView, Тескт разными цветами в одном Node


3-61498
serg_r_a
2002-12-02 12:18
2002.12.19
Открытие БД без индекса