Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2008, 12:11   #1
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию Как подсчитать все значения в колоне

Здравствуйте, подскажите как сложить все строки в колоне (они INTEGER)
aesoem вне форума Ответить с цитированием
Старый 30.06.2008, 12:42   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Ну, во-первых, строки не могут быть числами и не совсем понятно, что тебе нужно... Просчитать сумму чисел или количество записей???
Конечно, проще всего sql-запросом.

Код:
var x: integer;
//первое
qAdd.Close;
qAdd.SQL.Clear;
qAdd.SQL.Add('SELECT SUM(MYFIELD) FROM TABLENAME');
qAdd.Open;
x:=qAdd.Fields[0].AsInterer;

//Второе:
qAdd.Close;
qAdd.SQL.Clear;
qAdd.SQL.Add('SELECT COUNT(*) FROM TABLENAME');
qAdd.Open;
x:=qAdd.Fields[0].AsInterer;
_SERGEYX_ вне форума Ответить с цитированием
Старый 30.06.2008, 20:43   #3
aesoem
Форумчанин
 
Регистрация: 24.12.2007
Сообщений: 288
По умолчанию

Да наверно я несовсем ясно мысль изложил...
Уменя есть база данных в ней есть поля кол-во и цена я незнаю сколько и чего занесу в эту базу мне нужно перемножить цену на кол-во во всех строках колоны (Я незнаю сколько колон будет) и сложить всё содержимое в одно число чтобы узнать остаток товара...
aesoem вне форума Ответить с цитированием
Старый 02.07.2008, 22:20   #4
Lkhasa
 
Аватар для Lkhasa
 
Регистрация: 02.07.2008
Сообщений: 5
По умолчанию

Попробуй что-то типа
while ADOTable1.EOf do
begin
ADOTable1.Edit;
ADOTable1.FieldByName('Сумма').AsIn teger:=ADOTable1.FieldByName('Колич ество').AsInteger*ADOTable1.FieldBy Name('Цена').AsInteger;
ADOTable1.Next;
end;
Или:
var
summ:integer; //or real
begin
summ:=0;
while ADOTable1.EOf do
begin
ADOTable1.Edit;
summ:=summ+ADOTable1.FieldByName('К оличество').AsInteger*ADOTable1.Fie ldByName('Цена').AsInteger;
ADOTable1.Next;
end;
ADOTable1.Insert;
ADOTable1.Edit;
ADOTable1.FieldByName('').AsInteger :=s;
end;
Lkhasa вне форума Ответить с цитированием
Старый 03.07.2008, 15:17   #5
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Пропробуй так
Код:
select sum(suma) from ( --тут выводиться сумма по Suma 
select      --тут умножаются кол-во (fm1) на цену(fm2) и результат помещаем в Suma
       fm1, fm2,
       case 
          when not fm1 is null and not fm2 is null then fm1*fm2
       end as Suma
from fm)
Нет невыполнимых задач, всё дело времени...

Последний раз редактировалось D-mon; 03.07.2008 в 15:20.
D-mon вне форума Ответить с цитированием
Старый 03.07.2008, 15:50   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
строки не могут быть числами
Наверное имеется ввиду "Получить сумму из записей такого-то поля".
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли подсчитать FPS в другом процессе? Minimus Win Api 7 26.08.2008 02:08
Подсчитать количества знака в числе valerij Microsoft Office Excel 5 17.08.2008 16:52
Подсчитать сумму! Deman4eg Microsoft Office Excel 2 02.04.2008 09:16
подсчитать количество символов слов и предложений nev Помощь студентам 4 09.06.2007 21:22