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
Leer las respuestas