• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Подсчёт Суммы По Полю Без Sql

  • Автор темы Автор темы ZMihail
  • Дата начала Дата начала
Z

ZMihail

Есть две таблицы (ClientDataSet). Первая, назовём её (FIOT) с первичным ключом (ID) и тектовым
полем (Fio)- где записываются фамилии. Вторая, назавём её (SUMT) c ключевым полем (FIOID), куда записываются
числовые данные из поля (ID) таблицы (FIO), второе числовое поле (SUM), где находятся суммы по кождой фамилии
из первой таблицы. Каждая фамилия имеет много строк из таблицы (SUMT). Нужно посчитать суммы по каждой
фамилии и вывести этот результат в ListBox. Запросы в этих таблицах не работают.

Добавлено: procedure TForm1.Button7Click(Sender: TObject);
Var summ: integer;
begin
t1.Filter:= 'FIOID='+ fiot.FieldByName('ID').AsString;
t1.Filtered:=true;
summ:=0;

while not t1.Eof do
begin
t1.Next;
while not fiot.Eof do
Begin
summ:=summ+ t1.FieldByName('sob').asinteger;
ListBox1.Items.Add(fiot.FieldByName('Fio').AsString+ ': '+ IntToStr(summ));
fiot.Next;
end;
end;
end;
 
Есть две таблицы (ClientDataSet). Первая, назовём её (FIOT) с первичным ключом (ID) и тектовым
полем (Fio)- где записываются фамилии. Вторая, назавём её (SUMT) c ключевым полем (FIOID), куда записываются
числовые данные из поля (ID) таблицы (FIO), второе числовое поле (SUM), где находятся суммы по кождой фамилии
из первой таблицы. Каждая фамилия имеет много строк из таблицы (SUMT). Нужно посчитать суммы по каждой
фамилии и вывести этот результат в ListBox. Запросы в этих таблицах не работают.
Честно говоря... не совсем я понял как у Вас там всё организовано...
Возможно Вы имели в виду вот это?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
summ: integer;
begin
fiot.First;
while not fiot.Eof do
begin
t1.Filtered := False;
t1.Filter:= 'FIOID='+ fiot.FieldByName('ID').AsString;
t1.Filtered := true;
t1.First;

summ:= 0;
while not t1.Eof do
begin
summ:=summ + t1.FieldByName('sob').asinteger;
t1.Next;
end;

ListBox1.Items.Add(fiot.FieldByName('Fio').AsString+ ': '+ IntToStr(summ));
fiot.Next;
end;
end;
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab