![]() |
|
#1
|
|||
|
|||
![]() Подскажите пожалуйста как посчитать сумму значений в dbgride.
К примеру в 14 колонке мне нужно посчитатьсумму всех значений. |
#2
|
||||
|
||||
![]() как вариант, если записей не так много, то можно пробежаться циклом по таблице и подсчитать нужные значения...
уволен в запас!!! ![]() |
#3
|
|||
|
|||
![]() если можно пример, записей не много около 800.
|
#4
|
||||
|
||||
![]() То нужно посчитать в запросе.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#5
|
|||
|
|||
![]() я в sql запросох плохо орентируюсь dbgrid заполняю adoquery1.SQL.Add('select * from 1 where Поле2="'+ edit1.text +'" or Поле3="'+ edit1.Text +'"')
и как надо сформировать запрос чтобы label1 присвоилось сумма Поле14? |
#6
|
||||
|
||||
![]() Код:
// сумма с циклом procedure TMainForm.Button1Click(Sender: TObject); var path: string; ITOG: integer; begin path := ExtractFilePath(paramstr(0)) + 'BD.mdb'; ADOTable1.Active := False; ADOConnection1.Connected := False; ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+path+';Persist Security Info=False;'; ADOConnection1.Connected:=true; ADOTable1.TableName := 'base'; ADOTable1.Active := True; ITOG := 0; while not ADOTable1.Eof do begin ITOG := ITOG + ADOTable1.Fields[4].AsInteger; ADOTable1.Next; end; edITOG.Text := IntToStr(ITOG); // запись суммы в Edit end; // сумма SQL запросом procedure TMainForm.Button2Click(Sender: TObject); var path: string; begin path := ExtractFilePath(paramstr(0)) + 'BD.mdb'; ADOQuery1.Active := False; ADOQuery1.Close; ADOConnection1.Connected:=false; ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+path+';Persist Security Info=False;'; ADOConnection1.Connected:=true; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Text:='SELECT SUM(value4) FROM base'; ADOQuery1.Open; ADOQuery1.Active:=true; edITOG.Text := ADOQuery1.Fields[0].AsString; // запись суммы в Edit end; смотри вложение уволен в запас!!! ![]() Последний раз редактировалось RusMaXXX, 21.01.2013 в 20:47. |