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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2009, 23:23   #1
MaxiMkaUA
 
Регистрация: 26.05.2009
Сообщений: 5
По умолчанию Как подсчитать сумму цифр в столбце и вывести их в Edit

Как подсчитать сумму цифр в столбце и вывести их в Edit
MaxiMkaUA вне форума Ответить с цитированием
Старый 26.05.2009, 23:27   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

В столбце чего?
mihali4 вне форума Ответить с цитированием
Старый 26.05.2009, 23:43   #3
MaxiMkaUA
 
Регистрация: 26.05.2009
Сообщений: 5
По умолчанию

Есть таблицав которой есть столбци Количество и цена

Третий столбец вычисляется как цена умноженая на количество

А мне нужно чтоб в едите выводилась сума всех чисел которые будут находится в третьем столбце
толбко я не знаю как это сделать
MaxiMkaUA вне форума Ответить с цитированием
Старый 27.05.2009, 00:22   #4
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Код:
var
 i: integer;
 sum: integer;
begin
 Edit1.Text := '';
 if Table1.RecordCount <> 0 then
 begin
  for i := 0 to Table1.RecordCount - 1 do
   if not Table1.FieldByName('Имя третьего столбца').IsNull then
    sum := sum + Table1.FieldByName('Имя третьего столбца').AsInteger;
  Edit1.Text := IntToStr(sum);
 end;
end;
Работоспособность не проверял.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 27.05.2009, 21:14   #5
MaxiMkaUA
 
Регистрация: 26.05.2009
Сообщений: 5
По умолчанию

Чтото каждый раз при компиляции показывает другое число, и очень большое. Столбец я делал через Query потому код плучился такой
var i: integer;
sum:real;
begin
Edit3.Text := '';
if Query1.RecordCount <> 0 then
begin
for i := 0 to Query1.RecordCount - 1 do
if not Query1.FieldByName('Сума').IsNull then
sum := sum +Query1.FieldByName('Сума').AsFloat;

end;
Edit3.Text := floatToStr(sum);

Как лучше вычеслять, через Query Или через Table?
MaxiMkaUA вне форума Ответить с цитированием
Старый 27.05.2009, 21:20   #6
MaxiMkaUA
 
Регистрация: 26.05.2009
Сообщений: 5
По умолчанию

У меня в стлбце 20 единиц, а при подсчете выходит 4,92485287941207E-316 как такое может быть?
MaxiMkaUA вне форума Ответить с цитированием
Старый 27.05.2009, 21:24   #7
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Edit3.Text := floatToStr(sum);
Вот и выходит...
Вам же Neeter дал нормальный код...
Если у вас там числа с плавающей точкой, используйте FormatFloat().

Последний раз редактировалось mihali4; 27.05.2009 в 21:26.
mihali4 вне форума Ответить с цитированием
Старый 27.05.2009, 21:30   #8
MaxiMkaUA
 
Регистрация: 26.05.2009
Сообщений: 5
По умолчанию

Так есле Integer то получается без точки но вот такое число 4932836

Откуда? Что оно считает?
MaxiMkaUA вне форума Ответить с цитированием
Старый 27.05.2009, 21:46   #9
ruminaia
 
Аватар для ruminaia
 
Регистрация: 25.05.2009
Сообщений: 7
По умолчанию

Я обычно использую FloatToStrF, т.е.
summFloat := Query1.FieldByName('Сума').AsString ;
str := FloatToStrF(summFloat,ffFixed,2);
, где 2 это число знаков после запятой
ruminaia вне форума Ответить с цитированием
Старый 27.05.2009, 22:24   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от MaxiMkaUA Посмотреть сообщение
Так есле Integer то получается без точки но вот такое число 4932836

Откуда? Что оно считает?
Дык переменную SUM неплохо бы обнулить после объявления и до начала подсчета
Сделайте первой строчкой после бегина:
sum:=0;
и все дела...
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вывести сообщение когда в столбце уже заполнена последняя ячейка StringGrid ARXangel Общие вопросы Delphi 5 18.03.2009 08:24
Пожалуйста, требуется подсказка!!! Как изменить сумму денег в копейках на рубли во всем столбце???? yur4eG Microsoft Office Excel 2 05.05.2008 18:52
Как посчитать сумму в столбце таблицы? Иллидан Microsoft Office Word 1 15.04.2008 21:30
Подсчитать сумму цифр числа введеного с клавиатуры. Prolog Дурин Помощь студентам 3 10.01.2008 16:29
как вывести число с ограниченным количеством цифр после запятой? delphi Ensoph Помощь студентам 1 02.10.2007 07:50