Fechas en VFP al consultar
Tengo una tabla en VFP ordenada por fecha con el formato DMY. Necesito buscar registros por ese campo pero no puedo crear la rutina. Siempre me da un mensaje de error de que la fecha está incorrecta o si la asigno a una variable me da error de tipo de datos. Les dejo algo de lo que estaba probando. Gracias por la ayuda....
SET date DMY
SET CENTURY on
LOCAL buscada
*buscada = INPUTBOX("Ingrese la fecha a buscar por favor... [Formato dd/mm/aaaa]","BUSCANDO REGISTRO")
**SET FILTER TO fecha = CTOD(buscada)
*LOCATE
*IF
*SET STRICTDATE to 0
buscada = CTOD("01/02/2002")
SEEK buscada
IF FOUND()
scatter MEMVAR memo
WAIT WINDOW "Registro ubicado...." nowait
ENDIF
*ELSE
* WAIT WINDOW "no eligio nada..." nowait
*ENDIF
SET date DMY
SET CENTURY on
LOCAL buscada
*buscada = INPUTBOX("Ingrese la fecha a buscar por favor... [Formato dd/mm/aaaa]","BUSCANDO REGISTRO")
**SET FILTER TO fecha = CTOD(buscada)
*LOCATE
*IF
*SET STRICTDATE to 0
buscada = CTOD("01/02/2002")
SEEK buscada
IF FOUND()
scatter MEMVAR memo
WAIT WINDOW "Registro ubicado...." nowait
ENDIF
*ELSE
* WAIT WINDOW "no eligio nada..." nowait
*ENDIF
Rodolfo yo te recomiendo lo siguiente:
Crear un indice con el campo de fecha donde deseas hacer la busqueda utilizando la funcion Dtos() esta funcion ordena los datos de fecha como caracteres aaaa/mm/dd.
Ejemplo
Use Tabla
Index On Dtos( Campo ) To Indice
Captura la fecha que deseas buscar en un cuadro de texto y buscalo en la tabla utilizand la funcion :
If Seek( Dtos( Control.Text ) )
Comandos
Endif
Si no enviame correo electronico
Crear un indice con el campo de fecha donde deseas hacer la busqueda utilizando la funcion Dtos() esta funcion ordena los datos de fecha como caracteres aaaa/mm/dd.
Ejemplo
Use Tabla
Index On Dtos( Campo ) To Indice
Captura la fecha que deseas buscar en un cuadro de texto y buscalo en la tabla utilizand la funcion :
If Seek( Dtos( Control.Text ) )
Comandos
Endif
Si no enviame correo electronico
Te recomiendo utilizar la función DATE() para trabajar con fechas, ya que te localiza fechas sin importar el formato que tengan, por ejemplo, la fecha de hoy:
DATE(2003,07,28)
DATE(2003,07,28)
