Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
ВнизСуммирование данных столбца в BDE Найти похожие ветки
← →
Ahmad K (2003-03-06 01:26) [0]собственно сабж...
← →
mike-d (2003-03-06 01:38) [1]см. BDE - HELP - Local SQL
← →
shenvg (2003-03-06 01:43) [2]либо суммирующим запросом на SQL
либо циклом по всему датасету....
← →
theodor_iv (2003-03-06 06:30) [3]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")
← →
Mike Kouzmine (2003-03-06 08:57) [4]2 shenvg:
> либо циклом по всему датасету....
> Главное за время цикла не состариться... :)
примерно 100 записей в секунду на 10 мб
← →
Ahmad K (2003-03-06 20:37) [5]Ребята, а если я использую TTable и базы Paradox?
← →
Anatoly Podgoretsky (2003-03-06 20:47) [6]Ну сказали же в этом случае циклом по всему набору данных и суммируй.
← →
Pat (2003-03-06 20:50) [7]table.first;
sum:=0;
while not table.eof do
begin
sum:=sum+table.fieldbyname("MyField").value;
table.next
end;
caption:=***tostr(sum)
← →
MsGuns (2003-03-06 23:42) [8]>Ahmad K (06.03.03 20:37)
>Ребята, а если я использую TTable и базы Paradox?
Ну и спользуй на здоровье ! А запрос будет сам по себе считаться. Можешь написать процу как сказал theodor_iv (06.03.03 06:30) и вызывать ее в обработчиках типа AfterPost/Insert/Delete/Refresh. Если табла большая и этот запрос тормозит, то сделай по кнопке.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c