COMANDO LOCATE EN FOXPRO 2.5

dino85
27 de Diciembre del 2004
Necesito buscar en una base de datos, y mostrar en pantalla los registros que esten enrte dos fechas ingresadas por teclado.
Desde ya muchas gracias

RICARDO
27 de Diciembre del 2004
1-Bueno abres tu tabla indexada por fechas
2-almacenas en dos variables tus fecha inicial y tu fecha final
LOCATE FOR between(Ventas.fecmov,fecini,fecfin))
DO WHILE FOUND( )
******
*****
****
CONTINUE
ENDDO




jose menarguez
27 de Diciembre del 2004
Si la DB esta indexada por el campo fecha te recomiento que te posiciones en la fecha inicial mediante el comando SEEK y despues hagas un SCAN WHILE hasta llegar a la fecha deseada. Esto es mucho mas rapido que usar LOCATE.

EJEMPLO
DF={01/12/2004}
HF={32/12/2004}
SELECT ALUMNOS
SET ORDER TO TAG FECHA
SEEK DF
SCAN WHILE FECHA<=HF
....
...
ENDSCAN
ESPERO QUE TE SIRVA

jcesoftware
27 de Diciembre del 2004
Con el permiso de los anteriores soluciones que son tambine validas 100%, creo que lo que te pongo a continuacion es mas facil:

EJEMPLO (el fichero.dbf debe tener un campo llamado" fecha")


f_ini={01/01/2004}
f_fin={15/04/2004}

USE fichero.dbf
BROWSE FOR fecha>=f_ini .AND. fecha <=f_fin

o

USE fichero.dbf
SET FILTER TO fecha>=f_ini .AND. fecha <=f_fin
BROWSE

- De esta ultima manera se puede hacer un WHILE .NOT. EOF() para listar todo o imprimir o lo que se quiera.

******************
Hola, desde hace mas de 12 años hago desarrollos a medida y estandar con FoxPro para Windows.

Mi Web es www.jcesoftware.es.vg.

Podeis mirar lo que tengo desarrollado incluso tengo demos que podeis bajar para evaluar.

Si necesitais alguna aplicacion a medida escribirme que tengo buenos precios.

Un saludo desde Madrid.
Jcesoftware