Ver Mensaje Individual
  #33  
Antiguo 12-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Creo que ese query3.next en medio del código no va, creo que es al final del bucle:

Código Delphi [-]
query3.Open
while not query3.eof do
begin 
   // todo tu codigo aqui
  query3.next;
end;

Una sugerencia, divide y vencerás. Por ejemplo:

Código Delphi [-]
procedure TFormMain.Abre(qry:TQuery);
begin
  TRY
    Qry.open;
 EXCEPT
    messagedlg('Error en consulta:'+ qry.Name + #13+QRY.SQL.TEXT,mterror,[mbok],0);
   Abort; // evita que el programa continue.
 END;
end;

Ahora puedes sustituir esas líneas de código por una llamada a este procedimiento, reusándolo.
Código Delphi [-]
abre(query2);
// mas codigo
abre(query3);
// mas codigo
abre(query4);

Si usas esta vieja técnica con otras cosas de tu código, verás que tu procedimiento se acorta bastante, no te mareas con el scroll vertical, es más legible, entendible y encontrarás los errores más rápidamente.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 12-10-2008 a las 06:32:45.
Responder Con Cita