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

Вниз

Как организовать автосумму в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.008 c
1-61556
viper
2002-12-09 15:54
2002.12.19
Размер файла


1-61645
_dmitry
2002-12-05 15:40
2002.12.19
Полупрозрачность на Canvas


1-61561
Виталик
2002-12-09 18:51
2002.12.19
TDriveComboBox или как там его


14-61832
Сергей Макаров
2002-11-29 18:01
2002.12.19
Городская олимпиада по информатике


4-61876
Димон
2002-11-06 20:21
2002.12.19
Remove Application from TaskBar





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