Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.17;
Скачать: CL | DM;

Вниз

Суммирование данных.Ошибка в коде?   Найти похожие ветки 

 
Wiedzmin   (2006-08-26 17:23) [0]

Здравствуйте, уважаемые!

Помогите с проблемой.Объясняю:

Есть таблица table1. В ней столбец quantity. После нажатия на кнопку button1 должна быть подсчитана сумма всех чисел столбца и выведена в Edit1.

Проблема: считает совершенно не так. берет последнюю запись и умножает на число строк.

Вопрос: почему? как исправить?

Вот отрывок из листинга:
x:=0;
table1.Last;
y:=table1.FieldByName("quantity").Value;
for n:=table1.RecordCount downto 1 do x:=x+y;

edit1.Text:= inttostr(x);


 
Anatoly Podgoretsky ©   (2006-08-26 17:45) [1]

Все правильно это умножение последней строки на количество.


 
Virgo_Style ©   (2006-08-26 18:33) [2]

мы в восхищении (с)


 
Fay ©   (2006-08-26 19:25) [3]

"Вы берёте, и стреляете себе в ногу."
Это тот самый случай.


 
Desdechado ©   (2006-08-27 15:49) [4]

with(table1) do begin
First;
x:=0;
while( not EOF ) do
 begin
   x:=x+FieldByName("aaa").AsFloat;
   Next;
 end;
end;

Но через SELECT Sum(aaa) будет быстрее и правильнее


 
Wiedzmin   (2006-08-28 15:37) [5]

спасибо. рад был услышать ваше мнение


 
StriderMan ©   (2006-08-28 15:41) [6]

может как-нибудь запросиком проще? SUM?


 
SergP.   (2006-08-28 15:56) [7]

> x:=0;
> table1.Last;
> y:=table1.FieldByName("quantity").Value;
> for n:=table1.RecordCount downto 1 do x:=x+y;
>
> edit1.Text:= inttostr(x);


М-да... в 5 строках 3 ошибки...
1). Цикл for - нехорош в данном случае. Нужно while not table1.bof do
2). Нет перехода к предыдущей записи. Table1.Prior
3). В теле цикла написана херня.



Страницы: 1 вся ветка

Текущий архив: 2006.09.17;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.077 c
2-1156754056
XTD
2006-08-28 12:34
2006.09.17
Почему в процедуре FormCreate; не работает Form1.Visible:=False;?


3-1152441439
Lezha
2006-07-09 14:37
2006.09.17
Ошибка при выполнении нескольких запросов через dbExpress


2-1157022643
kotbazilio
2006-08-31 15:10
2006.09.17
Помогите решить задачу про запрос


15-1156866396
Дураг
2006-08-29 19:46
2006.09.17
Способы борьбы с информационным ступором.


2-1156423809
H!TM@N
2006-08-24 16:50
2006.09.17
Поиск файлов