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

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

сумма поля [D7, dBase, FoxPro]


Demo_nik ©   (2008-08-19 10:26:00) 

не могу посчитать сумму поля
вот код но он считает сумму строк
var
i,x,y: integer;
begin
x:=0;
y:=Table2.RecordCount;
Table2.First;
for i := 0 to y do
begin
Table2.FieldByName('SUMA').AsInteger;
inc(x);
Table2.Next;
end;
Edit2.Text:=FloatToStr(x);
end;


Виталий Панасенко(дом)   (2008-08-19 21:30:00) [1]


> Demo_nik ©   (19.08.08 14:06) [11]

Мания величия?


MsGuns   (2008-08-19 16:39:00) [2]

Интересно, что делает эта ветка в "базах" ?


Demo_nik   (2008-08-19 14:06:00) [3]

Anatoly Podgoretsky ©   (19.08.08 13:08) [10]

> Demo_nik  (19.08.2008 10:52:02)  [2]

> У тебя в программе другой текст.

Смотри сообщение [5]


Anatoly Podgoretsky   (2008-08-19 13:08:00) [4]

> Demo_nik  (19.08.2008 10:52:02)  [2]

У тебя в программе другой текст.


clickmaker   (2008-08-19 11:36:00) [5]

особенно радует название поля: от тюрьмы да от ... не зарекайся )


Vlad Oshin   (2008-08-19 11:25:00) [6]

не правильно, копируйте мой
Table2.FieldByName('SUMA').AsSignValue
точнее считает


Sergey13   (2008-08-19 11:06:00) [7]

> [5] Demo_nik ©   (19.08.08 11:04)
> может кому  пригодиться

Я скопировал себе на всякий случай. Интересный, а главное оригинальный, алгоритм. 8-)


Medbe}I{onok XML   (2008-08-19 11:06:00) [8]

может кому  пригодиться

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


Demo_nik   (2008-08-19 11:04:00) [9]

вот так все работает, может кому  пригодиться
var
x,s: real;
begin
s:=0;
Table2.First;
while not Table2.Eof do
begin
s:=s+Table2.FieldByName('SUMA').AsFloat;
Table2.Next;
end;
Edit2.Text:=FloatToStr(s);
end;


Medbe}I{onok XML   (2008-08-19 11:01:00) [10]

Что делает эта строка?

Напрягает ИИ оптимизатора


Sergey13   (2008-08-19 11:00:00) [11]

> [2] Demo_nik ©   (19.08.08 10:52)
> все равно в место суммы он выдает количесво строк

Значит во всех записях Table2.FieldByName('SUMA').AsInteger=1. Или в программе ты выводишь х а не s.


Demo_nik   (2008-08-19 10:52:00) [12]

Вот переписал, все равно в место суммы он выдает количесво строк

var
x,s: integer;
begin
x:=0; s:=0;
Table2.First;
while not Table2.Eof do
begin
inc(x);
s:=s+Table2.FieldByName('SUMA').AsInteger;
Table2.Next;
end;
Edit2.Text:=IntToStr(s);
end;


Sergey13   (2008-08-19 10:34:00) [13]

> [0] Demo_nik ©   (19.08.08 10:26)
> Table2.FieldByName('SUMA').AsInteger;

Что делает эта строка?

> for i := 0 to y

В работе с БД следует пользоваться циклом вида
while not Table2.EOF do


Наверх

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