Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Problemon con access, las horas

Estas en el tema de Problemon con access, las horas en el foro de Bases de Datos General en Foros del Web. Hola a todo el mundo, os cuento el problema que tengo Tengo una base de datos en access de una tienda que cierra a las ...
  #1 (permalink)  
Antiguo 02/05/2006, 15:08
 
Fecha de Ingreso: mayo-2006
Mensajes: 7
Antigüedad: 18 años, 6 meses
Puntos: 0
Problemon con access, las horas

Hola a todo el mundo, os cuento el problema que tengo

Tengo una base de datos en access de una tienda que cierra a las 2 de la mañana.
El caso esque quiero hacer una simple consulta de por ejemplo cuantos tickets se han vendido en un dia. Hay que tener en cuenta los tickets de madrugada, si le digo que saque los tickets del dia 1 de marzo... qué pasa con los tickets vendidos después de las 00:00??... Tengo un problemon de aupa

La estructura de la BD es muy sencilla:
Numero - empleado - fecha - total - hora

Después de varias horas de autentico desquebradero de cabeza he llegado a esto (que parece lo más lógico):

$consulta = "SELECT * FROM ticket WHERE ((ticket.hora)>=#12/30/1899 5:0:0# And (ticket.fecha)>=#3/1/2004#) And ((ticket.hora)<=#12/30/1899 5:0:0# And (ticket.fecha)=#3/2/2004#)";

Que me calcule los tickets a partir de 5 de la mañana del dia en concreto y hasta las 5 de la mañana del dia siguiente... pues no salen registros

He ejecutado el select por separado... o sea:
$consulta = "SELECT * FROM ticket WHERE ((ticket.hora)>=#12/30/1899 5:0:0# And (ticket.fecha)>=#3/1/2004#)";
y
$consulta = "SELECT * FROM ticket WHERE ((ticket.hora)<=#12/30/1899 5:0:0# And (ticket.fecha)=#3/2/2004#)";

Pero juntas nooooo
Por favor... ayudaaaaaa

Última edición por julianlopez; 02/05/2006 a las 15:13
  #2 (permalink)  
Antiguo 02/05/2006, 15:31
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 1 mes
Puntos: 11
Por que no pruebas asi, teniendo la fecha base el día 05/01/2006:

$consulta = "SELECT * FROM ticket WHERE ticket.fecha between #05/01/2006 5:0:0# and #05/02/2006 5:0:0#"

El campo fecha que sea de tipo fecha/hora, es decir, guarde tanto la fecha como la hora en el mismo campo.
  #3 (permalink)  
Antiguo 02/05/2006, 16:01
 
Fecha de Ingreso: mayo-2006
Mensajes: 7
Antigüedad: 18 años, 6 meses
Puntos: 0
No me funciona eso, ya que tanto la hora como la fecha se guarda en campos diferentes. Y modificar la estructura de la bd a estas alturas... jejeje como que no, tiene más de 200.000 registros. Muchas gracias de todas formas.
  #4 (permalink)  
Antiguo 04/05/2006, 14:31
 
Fecha de Ingreso: junio-2004
Ubicación: Barcelona
Mensajes: 61
Antigüedad: 20 años, 5 meses
Puntos: 1
Prueba a concatenarlos, no hace falta que cambies ninguna estructura de la bd. Osea CDate(Campo fecha & " " & campo hora). Asi lo lograras, ves con cuidado con el formato de la fecha.
Un saludo desde Barna
Sk@keo
  #5 (permalink)  
Antiguo 11/05/2006, 09:57
 
Fecha de Ingreso: mayo-2006
Mensajes: 7
Antigüedad: 18 años, 6 meses
Puntos: 0
Ufff, con eso me sobrecarga la base de datos un monton, me ralentiza muchisimo el proceso de calculo. Te digo que tarde más de 5 minutos en calcularlo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:03.