![]() |
|
|
#1
|
|||
|
|||
|
Как можно подсчитать сумму в DBGrid определенного столбца используя ADOQuery
|
|
#2
|
|||
|
|||
|
В DBGrid никак. DBGrid только для отображения данных.
А через Query так: Код:
MyQuery.Text := 'SELECT SUM(<COLUMN>) FROM <TABLE>';
MyQuery.Open;
try
if not MyQuery.Eof then
Result := MyQuery.Fields[0].AsFloat; //возврат суммы
finally
MyQuery.Close;
end; |
|
#3
|
|||
|
|||
|
а как что бы суума выводилась в эдит )
|
|
#4
|
|||
|
|||
|
Полученную от функции сумму надо преобразовать в строку.
Если вышеприведенную функцию обозвать Summa, то получится так: Код:
Edit1.Text := FloatToStr(Summa) //или применить ф. FloatToStrF |
|
#5
|
|||
|
|||
|
у меня такой вот хапрос, как мне дописать что бы он мне еще часы суммировал?
Код:
form3.ADOQuery1.SQL.Clear;
Form3.ADOQuery1.SQL.Add('select дата, группа,дис, тип, тема, часы from кар where ФИО='''+Form1.DBLookupComboBox2.Text+'''');
form3.ADOQuery1.Active:=true;
form3.label1.Caption:='За данный период всего записей '+IntToStr(Form3.ADOQuery1.RecordCount);
Form3.Label3.Caption:='Учетная карточка: '+form1.DBLookupComboBox2.Text;
Form3.Label6.Caption:='Кафедра: '+form1.DBLookupComboBox1.Text;в лайбел??? |
|
#6
|
|||
|
|||
|
Код:
Form3.ADOQuery1.SQL.text := 'select дата, группа,дис, тип, тема, часы from кар where ФИО='''+Form1.DBLookupComboBox2.Text+'''';
try
form3.ADOQuery1.Open;
H := 0;
while not Form3.ADOQuery1.eof do begin
H := H + Form3.ADOQuery1.FieldByName('часы').AsInteger;
form3.ADOQuery1.Next;
end;
form3.ADOQuery1.First;
form3.label1.Caption:='За данный период всего записей '+IntToStr(Form3.ADOQuery1.RecordCount);
Form3.Label3.Caption:='Учетная карточка: '+form1.DBLookupComboBox2.Text;
Form3.Label6.Caption:='Кафедра: '+form1.DBLookupComboBox1.Text;H := 0;
LabelX.Caption := IntToStr(H);
finally
form3.ADOQuery1.Close;
end; |
|
#7
|
|||
|
|||
|
заработало ) респект )
а ты случайно не можешь мне еще помочь кое в чем http://www.delphisources.ru/forum/showthread.php?t=6476 Последний раз редактировалось жекаизжека, 24.12.2008 в 13:23. |
|
#8
|
|||
|
|||
|
тема закрыта, свем спасибо san-46
|