Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Cумма по ВЫЧИСЛЯЕМОМУ полю


Gamar ©   (2002-04-20 12:15:00) 

Кто-нибудь знает, как получить сумму по ВЫЧИСЛЯЕМОМУ полю?
Дело такое... Есть в Парадоксе два поля А и В и в Table1 описывается третье поле С = Round(A) + Round(B).
Найти сумму по полю А можно легко через TSQL (Select Sum(A)...). Но не напишешь же (Select Sum(С)...), ведь поле С описывается только в Table1, да и написать (Select Sum(Round(A) + Round(B))...) тоже вроде нельзя.
Может через параметры как-то можно, или через свойство DataSource в TTable???
Помогите, пожалуйста, кто знает...


Sergey13   (2002-04-23 10:31:00) [1]

В EhLib есть такае штука как SumList, а в DbGridEh есть подсчет суммы по любому полю (в т.ч. по вычисляемому)


koks   (2002-04-23 09:59:00) [2]

Если ты вычисляешь поле в Delphi, то и производить с ним манипуляции можешь только в Delphi. Для того, чтобы использовать поле в SQL, тебе нужно определить поле ну уровне "движка", который будет компилить и выполнять запрос.
Т.Е. в твоем случае (TTable) - только навигационный проход по всем записям с подсчетом суммы.
Если хочешь SQL - тогда надо:
ALTER TABLE ADD COLUMN NewFiled ...
UPDATE TABLE SET NewField ...
SELECT Sum(NewField) ...
ALTER TABLE DROP COLUMN ...

Вот и смотри, шо тебе легче...


Anatoly Podgoretsky   (2002-04-23 09:49:00) [3]

Просуммируй вручную


Gamar   (2002-04-23 01:40:00) [4]

Поправка. Я имел ввиду не TSQL, а TQuery...


Gamar   (2002-04-23 01:35:00) [5]

Это так, но Round - для примера. На самом деле там не Round, а RoundCurrency - огругление до целых копеек в типе Currency.

Вот я и подумал, как TSQL иметь доступ к вычисляемому полю, определенному в TTable?.. (TSQL связана, естественно, с TTable)


Andrus   (2002-04-20 21:51:00) [6]

select sum (round(A)+round(B))from ....


Gamar   (2002-04-20 18:03:00) [7]

Ну что, никто не знает?
Формулирую по другому: как через TSQL читать вычисляемые поля, описанные в TTable?


Наверх

Титульная страница Поиск, карта сайта Написать письмо