![Smile :)](./images/smilies/icon_smile.gif)
Saludos
Adriano C. C.
acc69@hotmail.com
Carlos Mora wrote:Adriano,
Creo que el SET RELATION no te va a servir en este caso. Dependiendo del proceso tal vez te convenga conservar un consolidado por año como para ir dejando las cosas más o menos totalizadas, ya que los datos hasta el 2006 no cambian, o bien hacer una rutina que te arme un unico fichero de movimientos cada vez que haga falta..
Otra posibilidad sería una rutina que me arme en un temporal el mayor de cada cuenta, recorriendo todas las dbf's, algo mas o menos así:
dBCreate( cFile:= TmpFile( 'DBF' ), { estructura del movim } )
Use (cFile) Alias TempMov Exclusive New
For i:= 2 to Year(Date())%100
For j:= 1 to 12
If File( cMov:= 'MOV'+StrZero(j,2)+StrZero(i,2)+'.dbf' )
Use (cMov) Alias MOVMES Shared ReadOnly New
// Traspasar los movimientos
Close MOVMES
EndIf
EndFor
EndFor
Bueno, no está completo pero el resto seguro lo puedes manejar.
Un saludo,
Carlos
carlos.mora wrote:Adriano,
Cuando me refiero a 'consolidados' quiero decir una dbf que, por ejemplo, contenga todos los datos hasta el día en que sabemos que ya no se van a cambiar, para no estar buscando en tantas tablas.
Se me ocurren varias optimizaciones, pero me gustaría saber:
1) Cuando se hace la consulta, siempre se traen todos los datos?
2) que informacion viene en la tabla MA? obvimente indica los periodos, pero eso es algo que creo se pueden calcular conociendo la fecha inicial y final de la consulta.
3) No uses tantos indicadores de alias. Es más rapido un select y trabajar en el area actual. Algo como:
Select MA
TEMP->(OrdSetFocus(3))
TEMP->(GoTop())
Es lo mismo que
Select MA
Select Temp
OrdSetFocus(3)
Select MA
Select Temp
TEMP->(GoTop())
Select MA
4) No me doy cuenta para que esta el
TEMP->(DbSeek(MOVT->MV_NCTA))
En fin, creo que se pueden hacer algunas cosas para acelerar el proceso. Tambien hay que ver como se hace y muestra la consulta, ya que si le ponemos una progress bar y le vamos mostrando algo que le indique que el programa esta trabajando seguro que eso le calma la ansiedad.
Saludos,
Carlos.