FoxPro/Visual FoxPro - HACER UNA TAREA MAS RAPIDO !!!

 
Vista:

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.
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:HACER UNA TAREA MAS RAPIDO !!!

Publicado por Gilberto (122 intervenciones) el 01/07/2004 20:33:58
Porque no usas el comando count for, que es un poco mas rapido

o prueba

sele count (a.*) as numero from escaner a,crsmostrador b;
where a.ref = b.ref and ;
a.nserie = b.nserie and ;
a.alm=b.alm and ;
a.numsal=0 ;
group by a.ref,a.nserie,a.alm
into cursor crsRegs

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

RE:HACER UNA TAREA MAS RAPIDO !!!

Publicado por Yellow (158 intervenciones) el 02/07/2004 09:57:09
Eso está muy bien pero solo me dice la cantidad de números de serie que están repetidos entre las dos tablas. Lo que yo quiero saber es que números de serie se encuentran repetidos para luego ir al cursor crsMostrador y poder borrarlos.

A ver si me puedes ayudar en esto, por favor.

Gracias de todas formas.
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

RE:HACER UNA TAREA MAS RAPIDO !!!

Publicado por Gilberto (122 intervenciones) el 02/07/2004 17:31:30
Has que el select tambien traiga los campos nserie y demas, mejor dicho no incluyas solamente el count si no tambien los otros campos que usas
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