Если надо куда-то выводить кроме как на форме самого заказа, то надо делать физическое поле, вычисляемое по триггеру.
Если достаточно показать на самой форме, то можно посчитать прямо там без всяких полей.
Как я понял, у тебе 2 таблички - работы и детали. Делаешь обработчик AfterPost, в котором пробегаешься по табличкам и суммируешь то, что надо. Если есть возможность удаления, то еще afterDelete такой-же.
Если надо поизвращаться, что бы было красиво, то еще нужны 2 возможности - отключение контролов и букмарки. Отключение контролов -для тго что бы не мельтишило на экране пока бегаешь по табличке, а букмарки - для того, что бы потом восстановить исходную позицию курсора.
Суммирование одной таблицы (названия от балды):
Код:
var
B : Pointer;
S : Currency;
begin
S := 0;
Table1.DisableControls;
B := Table1.GetBookmark;
Try
Table1.First;
While Not Table1.Eof Do
begin
S := S + Table1.FieldByName('SUMMA').AsCurrency;
Table1.Next;
end;
Finally
Table1.GotoBookmark(P);
Table1.FreeBookmark(B);
Table1.EnableControls;
End;
// Edit1 - типа сумма
Edit1.Text := CurrToStr(S);
end;