Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.01.2013, 15:29
lestatgi lestatgi вне форума
Прохожий
 
Регистрация: 07.06.2010
Сообщения: 32
Репутация: 10
По умолчанию dbgrid

Подскажите пожалуйста как посчитать сумму значений в dbgride.
К примеру в 14 колонке мне нужно посчитатьсумму всех значений.
Ответить с цитированием
  #2  
Старый 21.01.2013, 15:59
Аватар для RusMaXXX
RusMaXXX RusMaXXX вне форума
Начинающий
 
Регистрация: 01.10.2008
Сообщения: 138
Версия Delphi: 7
Репутация: 21
По умолчанию

как вариант, если записей не так много, то можно пробежаться циклом по таблице и подсчитать нужные значения...
__________________
уволен в запас!!!
Ответить с цитированием
  #3  
Старый 21.01.2013, 16:06
lestatgi lestatgi вне форума
Прохожий
 
Регистрация: 07.06.2010
Сообщения: 32
Репутация: 10
По умолчанию

если можно пример, записей не много около 800.
Ответить с цитированием
  #4  
Старый 21.01.2013, 16:12
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

То нужно посчитать в запросе.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #5  
Старый 21.01.2013, 16:27
lestatgi lestatgi вне форума
Прохожий
 
Регистрация: 07.06.2010
Сообщения: 32
Репутация: 10
По умолчанию

я в sql запросох плохо орентируюсь dbgrid заполняю adoquery1.SQL.Add('select * from 1 where Поле2="'+ edit1.text +'" or Поле3="'+ edit1.Text +'"')
и как надо сформировать запрос чтобы label1 присвоилось сумма Поле14?
Ответить с цитированием
  #6  
Старый 21.01.2013, 17:07
Аватар для RusMaXXX
RusMaXXX RusMaXXX вне форума
Начинающий
 
Регистрация: 01.10.2008
Сообщения: 138
Версия Delphi: 7
Репутация: 21
Восклицание

Код:
// сумма с циклом
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;

смотри вложение
Вложения
Тип файла: rar BD.rar (18.0 Кбайт, 2 просмотров)
__________________
уволен в запас!!!

Последний раз редактировалось RusMaXXX, 21.01.2013 в 20:47.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:14.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025