![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
подсчёт значений [D5, MSSQL]
maxon © (2002-06-20 16:41:00)как подсчитать значения одного поля в DBgrid
MBo (2002-06-21 07:01:00) [1]>MsGuns
Спасибо, понял. Не обратил внимания на MSSQL] в вопросе.
Для локальной базы, полагаю, существенной разницы не будет?
MsGuns (2002-06-20 21:55:00) [2]>Mbo Шариться в цикле - это полнейший отстой - а если в табле 10000 записей ? Есть простая эффективная метода : Кладешь TQuery и левый невизибельный грид, в запросе ставишь Sum(Поле для калка), результат связываешь с гридом (Перед этим обязательно TDBGrid.Columns.RebuildColumns) и значение единственного поля (Fields[0]) юзаешь в переменную или куда там надо. Если данных в табле много, то после этого Query надо закрывать (а перед очередным запросом, есно, открывать), а то оно может тормозить не по детски
wicked (2002-06-20 19:30:00) [3]2 maxon ©
а можно так -
select <поле>, count(<поле>) from <таблица> group by <поле>
MBo (2002-06-20 18:33:00) [4]а не подойдет такое?
Result:=0;
with Table1 do begin
BkMark:=BookMark;
First;
while not Eof do begin
Inc(Result,SomeIntField.Value);
Next
end;
GoToBookMark(BkMark);
end;
Mike_Goblin (2002-06-20 18:29:00) [5]Если используете TClientDataSet там есть такое понятие как агрегатные поля
Tornado (2002-06-20 17:03:00) [6]использовать Express Quantum Grid Pro - там все это делается.