Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 21:49   #1
Ol'ga
Форумчанин
 
Аватар для Ol'ga
 
Регистрация: 14.06.2008
Сообщений: 166
По умолчанию Как сосчитать общую сумму, взяв данные из одной таблици и вывести сумм в др?

Подскажите пожалуйста, как это реализовать: мне нужно подсчитать общий рейтинг каждого студента. В таблице "бланк" подсчитан рейтинг каждого студента по каждому предмету эти данные нужно взять и сложить в общую сумму, причем это значение должно отображаться в др таблице "Рейтинг".
Поиск рейтинга по студенту и предмету я написала, вот код:
Код:
var sum,i:integer;
begin
If DBLookupComboBox5.Text <> '' then

   begin
 if   DBLookupComboBox6.Text <> '' then
 DataModule1.ADOQuery4.Close;
DataModule1.ADOQuery4.SQL.Clear;
DataModule1.ADOQuery4.SQL.Text:='Select Otchet.Date, Gruppi.Gruppa, Students.NameST, Subject.Sub, Otchet.Rating ' 
+ ' From Otchet, Gruppi, Students, Subject  Where ( Otchet.IDStudent = Students.IDStudent) 
and (Otchet.IDGruppa = Gruppi.IDGruppi ) and ( Otchet.IDSubject = Subject.IDSubject ) 
and (Students.NameST="'+ DBLookupComboBox5.Text +'") and (Subject.Sub="'+ DBLookupComboBox6.Text +'")';
DataModule1.ADOQuery4.Open;
  begin
  sum:=0;
  for i:=0 to DataModule1.ADOBlRetControl.row-1 do
  sum:=sum+strtoint(DataModule1.ADOBlRetControl.cells[i,1]);
  DataModule1.ADORating.cells[i,7]:=inttostr(sum);
end;
    end;
    end;
Еще такой момент на row и cells он ругается, говорит незнает таких.

Последний раз редактировалось Stilet; 08.06.2012 в 07:35.
Ol'ga вне форума Ответить с цитированием
Старый 08.06.2012, 05:07   #2
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Ты, часом, не в ВИВТ'е учишься?

Весь код переписывать не буду (хотя и надо - от него плакать хочется), но подсчет делается не как у тебя

Код:
sum:=0;
for i:=0 to DataModule1.ADOBlRetControl.row-1 do
sum:=sum+strtoint(DataModule1.ADOBl RetControl.cells[i,1]);
а примерно так:

Код:
sum := 0;
with DataModule1.ADOQuery4 do while not Eof do begin
   sum := sum + FieldByName('Rating').AsInteger;
   Next;
end;
А различных Row и Cell действительно нету.

[смотрит с грустью в глазах, вспоминая образование десятилетней давности]
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Старый 08.06.2012, 07:36   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
причем это значение должно отображаться в др таблице "Рейтинг".
Так может быть для другой таблице написать запрос, который подсчитывает рейтинг?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 10.06.2012, 23:42   #4
Ol'ga
Форумчанин
 
Аватар для Ol'ga
 
Регистрация: 14.06.2008
Сообщений: 166
По умолчанию

Да, в ВИВТе.
Ol'ga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывести таблици в dbedit delfin07 БД в Delphi 8 20.06.2011 20:37
Вывести общую, среднюю баллов [Delphi] I_am_a_student Помощь студентам 8 10.12.2010 16:33
Вычислить общую сумму долга каждого квартиросъемщика(нужна помощь) vk14 Microsoft Office Excel 3 13.07.2010 15:52
Как сумму из одной ячейки разделить на две именных? Сан Саныч Microsoft Office Excel 14 20.12.2008 09:44
Копирования строк из одной таблици в другую Andersen Microsoft Office Access 6 13.08.2008 10:46