Hola
Primero tienes el end del while que recorre qry_Encabezado_giros_dolares en un lugar equivocado puesto que lo unico que hace es cambiar los valores a las 2 variables.
Código Delphi
[-]
While not qry_Encabezado_giros_dolares.eof do begin
ls_numero := qry_encabezado_giros_dolaresnumero_giros_dolares.Value;
ls_fecha := qry_encabezado_giros_dolaresfecha_giros_dolares.Value;
end;
Segundo, la tabla Tbl_Encabezado no la recorres, solo la abres y la cierras, por lo que siempre editaras el primer registro.
Si tratas de hacerlo mas o menos asi pueda que te sirva
Código Delphi
[-]While not qry_Encabezado_giros_dolares.eof do
begin
ls_numero := qry_encabezado_giros_dolaresnumero_giros_dolares.Value;
ls_fecha := qry_encabezado_giros_dolaresfecha_giros_dolares.Value;
qry_Encabezado.Close;
with qry_Encabezado do
sql.clear;
sql.add ('update Encabezado set Tasa= :nuevo_valor where numero_transacion =:numero_tran'); qry_encabezado.parambyname('numero_tran').value:=IntToStr(ls_numero);
qry_encabezado.parambyname('nuevo_valor').value:=qry_encabezado_giros_dolarestasa_cambio_giros_dolar es.Value;
qry_encabezado.execsql;
end;
end;
qry_Encabezado_giros_dolares.next;
end;
Espero que te ayude de algo