![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сумма поля [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