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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.042 c
3-1152875840
drashka
2006-07-14 15:17
2006.09.17
Как лучше реализовать поиск?


2-1156703273
Leyhont
2006-08-27 22:27
2006.09.17
Параметры в SQL запросе


2-1157048565
Dmitry T
2006-08-31 22:22
2006.09.17
Всплывающий индикатор


11-1132030796
DmiSb
2005-11-15 07:59
2006.09.17
Нужен аналог VCL DateTimePicker ?


3-1153126523
MN
2006-07-17 12:55
2006.09.17
Извлечение дня, месяца и года из даты





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