FoxPro/Visual FoxPro - Codigo muy lento

 
Vista:

Codigo muy lento

Publicado por Gaby (40 intervenciones) el 04/07/2005 23:53:58
Hola a todos, bueno tlengo un problema con un codigo que tengo para hacer una actualizacion y grabado en varias tablas, bueno el codigo es este:

************************************************************************************************
**** de la tabla llamada cargo, que tienen el campo au=1 les agrego al campo aut tambien como 1******

SELECT cargo
GO top
DO while!EOF()
IF cargo.au=1
IF red([R], [cargo])
replace cargo.aut WITH 1

UNLOCK
FLUSH
ENDIF
ENDIF

skip
ENDDO

*********************************

******Ahora en la tabla cel_data tengo que poner un total el cual sale de la suma de varios campos de la tabla cargo*********

SELECT cel_data
SET ORDER TO cel_da01
GO top

DO while!EOF()
vfoliopx= cel_data.folio



SELECT cargo
SET ORDER TO folio
SEEK(vfoliopx)
IF FOUND()
SUM totort,tothon FOR cargo.folio= cel_data.folio AND cargo.aut=1;
TO vtotort,vtothon


SELECT cel_data
IF red("R","cel_data")
replace cel_data.cargo WITH Vtotort+Vtothon
UNLOCK
FLUSH
ENDIF

ENDIF


SELECT cel_data
SKIP
ENDDO

****** termina de grabar*******

VPRESUPEN=.F.

MESSAGEBOX("Se han autorizado los cargos seleccionados", 64,[MENSAJE])
**********************************************************************************************
Este codigo funciona pero al ser muchos los registros se hace lentisimo y pues no me sirve asi, necesito saber que esto haciendo mal o como puedo hacer para que se haga mas rapido.

Gracias de antemano
Saludos.
Gaby
Mexico.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Codigo muy lento

Publicado por Roman Suazo (2723 intervenciones) el 05/07/2005 04:49:23
Habria que ver cuanto se tarda, ya que si son millones de registro que se procesan en un par de minutos tal vez el asunto no es tan lento. Sin la funcion RED no se puede ayudarte mucho ya puede ser que esta te este afectando...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar