Есть две таблицы "Поставщики" и "Счета". Таблицы связаны. "Счета" (подчиненная) подцепляется по key1 к id "Поставщики" через MasterSource.
В итоге, один поставщик может иметь несколько счетов. В таблице "Счета" имеется колонка сумма (денежная).
У меня задача просуммировать колонку "сумма" из таблицы "Счета" и вывести в отдельную колонку в таблицу "Поставщики". Т.е. у каждой записи уникального поставщика, будет отображаться своя общая сумма из таблицы "Счета".
В таблице "Поставщики" создал поле fkCalculated. Написал такой обработчик:
Код:
procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
var x,y:Integer;
begin
ADOTable2.First;
y:=0;
While not ADOTable2.Eof do
begin
x:=ADOTable2['Сумма'];
y:=x+y;
ADOTable2.Next;
end;
ADOTable1schet.Value:=y;
end;
Выводит непонятно что. Подскажите как правильно сделать.
Хотя, если выводить результат в Label, то все работает нормально.
Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var x,y:Integer;
begin
ADOTable2.First;
y:=0;
While not ADOTable2.Eof do
begin
x:=ADOTable2['Сумма'];
y:=x+y;
ADOTable2.Next;
end;
Label1.Caption:=IntToStr(y);
end;
(Это если в DBGrid выделить строку с нужным поставщиком, то в Label отображается общая сумма из таблицы "Счета" принадлежащей определенному поставщику) Но мне это не надо. Мне нужно выводить сумму в строке DBGrid