Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.27;
Скачать: CL | DM;

Вниз

Как сделать так,CalcFields считались сразу для всех записей Query   Найти похожие ветки 

 
Al11 ©   (2003-03-11 13:37) [0]

При открытии формы с DBGrid-ом, связанным с Query, у которого есть
вычисляемые поля, переменнная СOnCalcFields: C:= C+1) равна количеству
отображенных в DBGrid-е (видимых (помещающихся) на экране) записей Query.
Как сделать так, чтобы эта переменная была равна общему количеству записей Query.
(т.е. CalcFields считались сразу для всех записей Query)


 
Johnmen ©   (2003-03-11 13:42) [1]

Зачем же это делать в OnCalcFields ?!!!
Возможно, подойдет RecordCount...


 
Al11 ©   (2003-03-11 15:04) [2]

Извините! Не то хотел спросить...
Нужно подсчитать сумму значении вычисляемомго поля (например FieldCalc у Query),
записи содержащие данное поле предварительно фильтруются. я сделал это так:

procedure...
...
Sum:=0;
Query.filtred:=true;
...
end;

В OnFiltredRecord у Query записи Фильтруются по условию и
у записей удовлетворяющих фильтру генерируется OnCalcFields, где
есть такой фрагмент Sum:=Sum+QueryFieldCalc.Valu
Но все дело в том, что Sum считается только
для тех записей удовлетворяющих фильтру, которые отображены в
DBGrid-е (связанной с Query)


 
Al11 ©   (2003-03-11 15:13) [3]



 
Johnmen ©   (2003-03-11 15:18) [4]

Так делать в принципе неверно !
Если нужна сумма, то просто пробежаться по всему НД и просуммировать...


 
Соловьев ©   (2003-03-11 15:21) [5]

select sum(field)
from table


 
Соловьев ©   (2003-03-11 15:27) [6]

with Query do
begin
Sum := 0;
First;
while not Eof do
begin
Sum := Sum + FieldByName("CalcField").AsIneteger;
Next;
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.03.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
1-88034
BofA
2003-03-14 15:35
2003.03.27
Как перебрать все компоненты, расположенные на TPanel?


3-87877
Roki
2003-03-11 13:08
2003.03.27
Как запретить удаление записи?


6-88128
andrey_pst
2003-02-05 08:51
2003.03.27
Почта с Indy.


1-88040
ki11er
2003-03-14 19:40
2003.03.27
Какая разница между override, reintroduce и


7-88261
Programist21
2002-12-26 08:05
2003.03.27
Кто-нибудь работал с ТВ-тюнером?