![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Суммирование данных столбца в BDE [D6, Paradox]
Ahmad K © (2003-03-06 01:26:00)собственно сабж...
MsGuns (2003-03-06 23:42:00) [1]>Ahmad K (06.03.03 20:37)
>Ребята, а если я использую TTable и базы Paradox?
Ну и спользуй на здоровье ! А запрос будет сам по себе считаться. Можешь написать процу как сказал theodor_iv (06.03.03 06:30) и вызывать ее в обработчиках типа AfterPost/Insert/Delete/Refresh. Если табла большая и этот запрос тормозит, то сделай по кнопке.
Pat (2003-03-06 20:50:00) [2]table.first;
sum:=0;
while not table.eof do
begin
sum:=sum+table.fieldbyname("MyField").value;
table.next
end;
caption:=***tostr(sum)
Anatoly Podgoretsky (2003-03-06 20:47:00) [3]Ну сказали же в этом случае циклом по всему набору данных и суммируй.
Ahmad K (2003-03-06 20:37:00) [4]Ребята, а если я использую TTable и базы Paradox?
Mike Kouzmine (2003-03-06 08:57:00) [5]2 shenvg:
> либо циклом по всему датасету....
> Главное за время цикла не состариться... :)
примерно 100 записей в секунду на 10 мб
theodor_iv (2003-03-06 06:30:00) [6]2 shenvg:
> либо циклом по всему датасету....
Главное за время цикла не состариться... :)
Я использую такую функцию:
function SQLCalc(const Func, Field, Table: string): Double;
var
Q: TQuery;
begin
Q := TQuery.Create(nil);
try
Q.SQL.Text := Format("SELECT %s(T."%s") FROM "%s" T", [ Func, Field, Table ]);
Q.Open;
Result := Q.Fields[0].AsFloat;
finally
Q.Free
end;
end;
Например:SQLCalc("SUM", "ACCT_NBR", ":DBDEMOS:CLIENTS.DBF")
shenvg (2003-03-06 01:43:00) [7]либо суммирующим запросом на SQL
либо циклом по всему датасету....
mike-d (2003-03-06 01:38:00) [8]см. BDE - HELP - Local SQL