Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Раздел для общения на любые темы, для которых не нашлось места в остальных разделах. Если Вашу тему можно отнести по смыслу к другому разделу, лучше создайте её там, иначе Вас накажут.

В данном форуме немного понижены требования к Общим правилам форума, а именно:
1. Информативность темы
2. Отходить от первоначального смысла темы

!
В разделе запрещено создавать темы связанные с раскруткой игровых серверов

Подсчёт суммы в delphi

Статус пользователя suttles
сообщение 29.4.2017, 5:28
Сообщение #1


Стаж: 12 лет
Город: Москва

Сообщений: 297
Благодарностей: 30
Полезность: 97

Как сделать подсчёт суммы по id пользователя в DBGrid?
У меня есть подсчёт но он считает только последнего пользователя

Код
procedure TForm1.BitBtn7Click(Sender: TObject);
var
summa,sumenergy,summa2,sumvoda,summonth,ID_Person:integer;
begin
DBGrid1.DataSource.DataSet.First;
While not ADOTable1.Eof do
begin
ID_Person:=DBGrid1.DataSource.DataSet.FieldByName('id').AsInteger;       //Сортировка
summa:=ADOTable1.FieldByName('energy_poc').AsInteger-ADOTable1.FieldByName('energy').AsInteger;   //Подсчёт суммы электричества за месяц (Этот месяц - Прошлый)
sumenergy:=summa*ADOTable1.FieldByName('energy_price').AsInteger;    //Подсчёт суммы электричества за месяц (Количетсво за месяц * на стоимость)
summa2:=ADOTable1.FieldByName('voda_poc').AsInteger-ADOTable1.FieldByName('voda').AsInteger;     //Подсчёт суммы воды за месяц (Этот месяц - Прошлый)
sumvoda:=summa2*ADOTable1.FieldByName('voda_price').AsInteger;    //Подсчёт суммы воды за месяц (Количетсво за месяц * на стоимость)
summonth:=sumenergy+sumvoda;           //Подсчёт суммы электричества и воды за месяц
//ADOQuery1.Active:=False;
//ADOQuery1.SQL.Clear;
//ADOQuery1.SQL.Add('select id,name,familya,otchestvo,yliza,dom,kv,energy,voda,energy_poc,voda_poc,energy_pr
ice,voda_price, sum(sum(energy_poc-energy*energy_price+voda_poc-voda*voda_price)), date from users;');
//ADOQuery1.Active:=True;
DBGrid1.DataSource.DataSet.Next;
end;
Edit1.Text:=IntToStr(summonth);
//Edit1.Text:=ADOQuery1.Fields[0].asString;
end;


Отредактировал: suttles, - 29.4.2017, 5:39
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: