Errores con REPLACE en sentencias con IF // SCAN

30/09/2005 - 15:33 por Pablo Javier | Informe spam
Buen día para todos,

Nuevamente estoy aquí comentándole algo que noté en el manejo de una tabla.

La tabla es un DBF, el programa es con VFP 7

Cuando la tabla supera los 3.000 registros, la siguiente sentencia no
siempre la cumple en los casos que si la debería cumplir (cuando el FOUND
es .T.)

SELECT tabla_1
GO TOP
LOCATE FOR tabla_1.id = Thisform.tid.Value
IF FOUND()
REPLACE tabla_1.fecha WITH DATE()
ENDIF

Pero lo raro es que si lo hace con esta sentencia, que es diferente:

SELECT tabla_1
GO TOP
SCAN FOR tabla_1.id = Thisform.tid.Value
REPLACE tabla_1.fecha WITH DATE()
ENDSCAN


Noto que cuando la tabla supera los 3.000 registros (que es cuando comenzó
a fallar), la primer sentencia entra en el IF pero no realiza el REPLACE.
En cambio, en la misma tabla con igual cantidad de registros, ejecuta con
éxito el contenido del SCAN (por lo menos hasta ahora).

¿Me podrían explicar el motivo de esta diferencia?

Desde ya, muchas gracias.
Pablo


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
 

Preguntas similares