FoxPro/Visual FoxPro - Problemas con Fecha

 
Vista:
sin imagen de perfil

Problemas con Fecha

Publicado por victor perez (137 intervenciones) el 27/02/2013 00:08:14
Amigos,

Utilizo el siguiente filtro:

thisform.conecta
sqlexec(lnhandle,"select * from caja where ?_key","_curmovs")
sqldisconnect(lnhandle)


Inicio la variable _key como publica

SET DATE JAPAN
_key="fecha=date()"
SET DATE BRITISH

Al correr el filtro no me funciona...es decir, el cursor no se llena con informacion.

_key="cliente <> ' ' "

El cursor se llena con todos los recibos cuyos clientes no esten en blanco.

_key="fecha=current_Date"
El cursor se llena perfectamente, con los recibos a la fecha de hoy.

Por que no me funciona con Date().
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

Problemas con Fecha

Publicado por Saul (728 intervenciones) el 27/02/2013 02:43:07
Hola Victor..

Intenta de esta forma, así es como yo lo hago y me funciona perfectamente,
Si quieres saber porque no funciona tu código, simplemente el DATE() no existe es SQL SERVER O MYSQL (No se a que estas conectado)

1
2
3
4
5
6
7
8
9
10
11
_FechaFiltro = Date()
 
 SET DATE TO YMD
 
 thisform.conecta
sqlexec(lnhandle,"SELECT * FROM Caja WHERE fecha = ?__FechaFiltro","_curmovs")
sqldisconnect(lnhandle)
 
* Where a.Fecha_Dpc Between ?fFechaIni And ?fFechaFin
 
SET DATE TO BRITISH
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
sin imagen de perfil

Problemas con Fecha

Publicado por VICTOR PEREZ (137 intervenciones) el 27/02/2013 03:29:33
Hola Saul,

Gracias por la informacion.

El problema es que la llave _key debe contener toda la informacion a buscar, por ejemplo, en algunas ocasiones _key es "codigo=?_codigo", en otras es "nombres like '%?_name%' y asi...o sea que cambia de acuerdo al dato a buscar...por eso le llamo FILTRO pues lo uso en el formulario para hacer las 10 posibles y diferentes busquedas.

Asi que poner "fecha=?_fechafiltro " no funciona en mi caso.

Claro que si prueba tu codigo, funciona, pero seria para un detalle en donde el filtro solo funcionaria cuando busco alguna fecha en el campo fecha.caja.

Me funciona como actualmente lo estoy haciendo, es decir, _key="fecha=current_date" , pero estoy intrigado en saber por que de la otra forma no funciona.

SAludos
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

Problemas con Fecha

Publicado por Saul (728 intervenciones) el 01/03/2013 03:38:00
Hola..

Lo que tienes que hacer en este caso es buscar como se filtran fechas en tu base de datos que estas usando.

MYSQL
SQLSERVER
POSGRES

Etc.

Y manda tu script como alli se usa,EL DATE() no existe en base de datos solo en visual fox.

Saludos
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
sin imagen de perfil

Problemas con Fecha

Publicado por victor perez (137 intervenciones) el 01/03/2013 14:51:01
Hola Saul,

Es una situacion incomoda trabajar con fechas....fijate que tengo otro formulario donde grabo la fecha actual de la siguiente manera:

_fecha= date()

thisform.conecta
sqlexec(lnhandle,"Insert into Incap (fecha) values (fecha=?_fecha)
sqldisconnect(lnhandle)

Perfectamente me inserta la fecha...no tengo que hacer mas nada excepto poner que sea YMD el formato.

------------------
Tengo otro formulario donde inserto la fecha de la siguiente manera:

_cc_fpago="2000-01-01"

insert into cabecera (fpago) values (fpago=?_cc_fpago)
Me funciona perfectamente, esta fue una idea que me diste para no dejar el campo en blanco.

____________________

En otro formulario hago lo siguiente

_fecha=date()
_ultFact="2000-01-01"
INsert into incap (fecha,ultfact) values (?_fecha,?_ultfact)

No me agrega el registro pues aparentemente la UltFAct no esta estructurada adecuadamente.

O sea, que haciendo las cosas como son, en las dos situaciones me trabaja diferente. Ambas tablas tienen el campo de fecha como date...o sea que no hay diferencia.

_________________

Otro formulario hago lo siguiente:

txtfecha=date()
Tengo un campo txtFecha donde capturo la fecha a buscar.

Hago la busqueda asi:
_buscame=thisform.txtfecha.value
_key="fecha=&_buscame"

El filtro es sqlexec(lnhandle,"Select from cabecera where &_key","ConCM")

Funciona perfectamente.

pero si nicializo _key de la siguiente manera: _key="date()", como te explicaba, ya aqu no me trabaja.

A ver si hay una explicacion posible.

Saludos,

Victor,
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