Cita:
Empezado por Caro
Hola donpedro, puedes hacer algo como esto:
Código Delphi [-]
var
flg : boolean;
a,b,res,x, Valor:integer;
begin
a:=strtoint(emontoapagar.text);
flg := False;
With dmdatos do
begin
aqfacturad.first;
While not aqfacturad.eof do
begin
b:=strtoint(aqfacturadvalor.asstring);
if (a > b) then
Valor := 0
else
if a>0 then
begin
Valor := b-a;
flg := True;
end;
a := a-b;
aqfacturad.edit;
aqfacturadvalor.asstring:=Valor;
aqfacturad.post;
if Not flg then
aqfacturad.next
else
break;
end;
end;
Saluditos
|
Muchas gracias caro gran parte de mi duda ese codigo lo resuelve, solo falta algo me explico.
si introduzco 1500 el me coloca el primer cargo en cero y el segundo en 300 ya que el resto los 500 que sobraron al siguiente cargo....ahora:
si vuelvo y busco al estudiante para realizar otro pago el sistema no reconoce que el primer cargo esta en cero y me da el siguiente error:
no se puede encontrar la fila para su actualizacion: algunos valores han cambiado desde la ultima vez que se leyo.
tendria que colocar una condicion para identificar que si b = 0 que vaya al siguiente registro.
Gracias, Dios te bendiga