Ver Mensaje Individual
  #3  
Antiguo 05-07-2006
fra3910 fra3910 is offline
Registrado
 
Registrado: dic 2004
Ubicación: Cáceres / Madrid
Posts: 5
Reputación: 0
fra3910 Va por buen camino
El problema está aqui
Código Delphi [-]
 
while anterior = query1.fieldbyname ('docente').AsString do
            begin
             reg :=  reg + 1;
             totales := totales + 1;
             Tdomi := Tdomi + query1.fieldbyname ('dominio').Asinteger;
             Thabi := Thabi + query1.fieldbyname ('habilidad').Asinteger;
             Tform := Tform + query1.fieldbyname ('evaluar').Asinteger;
             Tpunt := Tpunt + query1.fieldbyname ('puntualidad').Asinteger;
             Tpres := Tpres + query1.fieldbyname ('presentacion').Asinteger;
             Tapoy := Tapoy + query1.fieldbyname ('apoyo').Asinteger;
             Ttrat := Ttrat + query1.fieldbyname ('trato').Asinteger;
 
             query1.Next;
 
    end;
Este bucle nunca se sale, porque aunque tienes puesto el query1.Next, la condición para el último registro puede hacer que se quede embuclado. Es decir, para el último registro, el next dara EOF pero no se sale del bucle, y en ese caso siempre es anterior = query1.fieldbyname ('docente').AsString

Te valdría con cambiar el while a algo asi

WHILE (anterior = query1.fieldbyname ('docente').AsString) OR (NOT query1.EOF) do
...

Asi se sale del bucle cuando llegue al final de la tabla

Espero haberte ayudado

Saludos

Última edición por marcoszorrilla fecha: 05-07-2006 a las 20:16:36.
Responder Con Cita