ya encontré solución a mi problema, gracias a todos los que me aportaron con algo. dejo el código por a alguien mas tiene la misma duda
Código Delphi
[-]
procedure TForm1.Button3Click(Sender: TObject);
var
suma, cantidad , largo, diametro, numeroTrozos, ritmo, sumaRitmo, sumanumeroTrozos, result : real ;
T, factorRitmo, codigoTrozoAbas, codigoTrozoFac: string;
begin
abastecimiento.Active:=true;
dbgrid1.Visible:=true;
adoquery1.Active:=true;
sumaRitmo := 0;
sumanumeroTrozos := 0;
with abastecimiento do
begin
first;
while not eof do
begin
codigoTrozoAbas:= FieldByName('codigoTrozo').AsString;
cantidad:= FieldByName('cantidad').AsInteger;
largo:= FieldByName('largo').AsInteger;
diametro:= FieldByName('diametro').AsInteger ;
numeroTrozos:= (cantidad * 10000) / (largo * diametro * diametro );
sumanumeroTrozos:= sumanumeroTrozos + numeroTrozos;
with ADOQuery1 do
begin
first;
while not eof do
begin
codigoTrozoFac := FieldByName('codigoTrozo').AsString;
if codigoTrozoAbas = codigoTrozoFac then
begin
ritmo:= FieldByName('factorRitmo').AsFloat;
sumaRitmo:= sumaRitmo + (ritmo * numeroTrozos);
end;
next;
end;
end;
next;
end;
end;
result := sumaRitmo / sumanumeroTrozos;
factorRitmo:= floattostr(result);
ListBox1.Items.Add(factorRitmo);
end;