HACER UNA TAREA MAS RAPIDO !!!
Publicado por Yellow (158 intervenciones) el 01/07/2004 10:48:16
A ver si alguien me puede ayudar.
Tengo una ventana donde introduzco una cantidad de números como 400 ó 500 los meto en un cursor y hago lo siguiente
sele crsMostrador
scan
cRef1=alltrim(crsMostrador.ref)
cNum1=alltrim(crsMostrador.numserie)
cAlm1=alltrim(crsMostrador.tipo)
&& Aquí abro otra tabla para hacer la busqueda
&& Y si hay 1 ó más números en esa tabla lo borro del cursor.
abrir('escaner')
sele count (*) as numero from escaner where alltrim(escaner.ref) ==cRef1 and alltrim(escaner.nserie)==cNum1 and escaner.alm=cAlm1 and escaner.numsal=0 into cursor crsRegs
If crsRegs.numero>=1
sele crsMostrador
delete in crsMostrador
endif
endscan
todo esto tarda mucho sobre todo lo del select si quito el select me va muy rapido pero tengo que ir comprobando cada número del cursor si existe ya en la tabla 'escaner' o no existe.
Alguien me puede decir como acelerar este proceso.
Gracias.
Tengo una ventana donde introduzco una cantidad de números como 400 ó 500 los meto en un cursor y hago lo siguiente
sele crsMostrador
scan
cRef1=alltrim(crsMostrador.ref)
cNum1=alltrim(crsMostrador.numserie)
cAlm1=alltrim(crsMostrador.tipo)
&& Aquí abro otra tabla para hacer la busqueda
&& Y si hay 1 ó más números en esa tabla lo borro del cursor.
abrir('escaner')
sele count (*) as numero from escaner where alltrim(escaner.ref) ==cRef1 and alltrim(escaner.nserie)==cNum1 and escaner.alm=cAlm1 and escaner.numsal=0 into cursor crsRegs
If crsRegs.numero>=1
sele crsMostrador
delete in crsMostrador
endif
endscan
todo esto tarda mucho sobre todo lo del select si quito el select me va muy rapido pero tengo que ir comprobando cada número del cursor si existe ya en la tabla 'escaner' o no existe.
Alguien me puede decir como acelerar este proceso.
Gracias.
Valora esta pregunta


0