Ver Mensaje Individual
  #9  
Antiguo 18-07-2011
donpedro donpedro is offline
Miembro
 
Registrado: nov 2009
Posts: 102
Reputación: 0
donpedro cantidad desconocida en este momento
Cita:
Empezado por Caro Ver Mensaje
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
Responder Con Cita