FoxPro/Visual FoxPro - select de campos datetime...

 
Vista:

select de campos datetime...

Publicado por Gustavo (33 intervenciones) el 16/02/2010 01:32:06
Estimados, hola a todos, necesitaria una mano, tengo una tabla de ventas en la cual tengo un campo fecha(datetime), y necesito hacer una consulta determinada entre fechas y horas, mi consulta es:
SELECT v_lista_ventas_caja
SELECT * FROM v_lista_ventas_caja WHERE BETWEEN(fecha, thisform.text11.value, thisform.text2.value) ORDER BY fecha INTO CURSOR vtas_caja
esto me devuelve el cursor vacio, sin embargo existen ventas entre los valores de text11 y text2.
Donde tengo el error, desde ya muchas gracias a todos.
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

RE:select de campos datetime...

Publicado por es_binario (757 intervenciones) el 16/02/2010 03:13:23
deberias nada mas de poner algo asi:

local fecha_inicio as date
local fecha_final as date
fecha_inicio = thisform.text1.Value
fecha_final = thisform.text2.Value

SELECT * FROM v_lista_ventas_caja WHERE fecha between fecha_inicio and fecha_final INTO CURSOR vtas_caja ORDER BY fecha

siempre en sql hay que usar variables para evitar errores, es decir no llamar a los Thisform.texbox directamente.

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

RE:select de campos datetime...

Publicado por Gustavo (33 intervenciones) el 16/02/2010 13:30:09
Gracias es_binario, voy a probar, pero me parece que el problema lo tiene con los datetime, porque otras consultas con campos fecha solamente me funcionan bien, y en este caso son datetime.

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

RE:select de campos datetime...

Publicado por michael (45 intervenciones) el 16/02/2010 16:12:19
talves te funcione de la siguiente manera con TTOD

SELECT * FROM v_lista_ventas_caja WHERE BETWEEN( TTOD(fecha) , thisform.text11.value, thisform.text2.value) ORDER BY fecha INTO CURSOR vtas_caja
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

RE:select de campos datetime...

Publicado por Gustavo (33 intervenciones) el 16/02/2010 16:25:19
Gracias michael por tu respuesta, lo que sucede que con ttod solo tomo la fecha, y como esta funcion es para un cierre de caja tambien necesito la hora, por eso necesito trabajar el campo tal cual esta como datetime, realmente me esta volviendo loco...
Si lo soluciono lo comento asi si le pasa a alguno sabe como solucionarlo
PD: espero poder solucionarlo!
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

RE:select de campos datetime...

Publicado por michael (45 intervenciones) el 16/02/2010 17:14:18
segun entendi queres algo asi como
en tu select agrupar de tales fechas y tales horas
puedes usar la funcion hour y minute or second

SELECT PRODUCTO,HOUR(FECHA1) HORA FROM PRUEBA ;
WHERE TTOD(FECHA1) ;
BETWEEN CTOD('16/02/2010') AND CTOD('16/02/2010') ;
GROUP BY HORA,PRODUCTO
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

RE:select de campos datetime...

Publicado por Gustavo (33 intervenciones) el 16/02/2010 19:22:56
Gracias michael por tu interes en darme una mano,
Te redondeo la idea, tengo tres turnos de cajeros, cada cajero genera su control de caja, que contiene inicio (datetime) y final (datetime), ventas(numerico), gastos(numerico),saldo(numerico), yo necesito extraer del archivo de ventas, las ventas de la fecha de la caja entre las horas que duro su turno.
Por eso necesito trabajar con los campos inicio y final que son datetime, para que cada cierre de caja refleje los movimientos de su horario y no tome ventas de los otros turnos.
Esa es la cuestion...

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

RE:select de campos datetime...

Publicado por Pablo (Argentina) (433 intervenciones) el 16/02/2010 21:47:04
Hola Gustavo, mira yo tengo un codigo pero es para sacar la diferencias de horas en 2 fechas no creo que te sirve de muecho, pero aca te paso un link, muy interesante de portalfox que retocando un poco tu codigo, seguro consigas el resultado deseado, es todo sobre fechas y horas

http://www.portalfox.com/index.php?name=News&file=article&sid=1162

Avisame si te sirvio de algo y si solucionastes tu problema

Suerte!!!!

Pablo - Argentina
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

RE:select de campos datetime...

Publicado por es_binario (757 intervenciones) el 16/02/2010 22:06:13
No es necesario que hagas tantas cosas basta con que en el init de los textbox pongas el siguiente codigo en cada uno.

This.Value = Datetime()

asi de simple.

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

RE:select de campos datetime...

Publicado por Gustavo (33 intervenciones) el 17/02/2010 04:03:39
Gracias a todos por ofrecer su ayuda, lo resolvi con la ayuda del articulo que me recomendo Pablo.

Saludos a todos.
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