Foros del Web » Programando para Internet » ASP Clásico »

Fechas y reservas

Estas en el tema de Fechas y reservas en el foro de ASP Clásico en Foros del Web. Estoy haciendo un sistema de reservas-online. Tengo una tabla reservas con entre otros los campos fecha_entrada y fecha_salida de tipo fecha. He introducido manualmente una ...
  #1 (permalink)  
Antiguo 12/07/2005, 07:03
 
Fecha de Ingreso: junio-2002
Mensajes: 93
Antigüedad: 22 años
Puntos: 0
Fechas y reservas

Estoy haciendo un sistema de reservas-online.
Tengo una tabla reservas con entre otros los campos fecha_entrada y fecha_salida de tipo fecha.
He introducido manualmente una reserva ficticia con fecha_entrada 26/7/2005 y fecha_salida 8/8/2005.

En el formulario de reservas selecciono la fecha de entrada 19/7/2005 y la fecha de salida 12/8/2005.

Cuando hago la consulta ala base de datos:
Código PHP:
SQL="Select * from reservas where ((fecha_salida > #"entrada &"# and fecha_entrada < #"salida &"#) or (fecha_entrada < #"salida &"# and fecha_salida > #"entrada &"#))" 
no me devuelve ningún registro y debiera devolverme 1 que es el que he introducido.

Si veis algo en la consulta que se me escape me serviría de mucho.

Un saludo
Kaki
  #2 (permalink)  
Antiguo 12/07/2005, 07:07
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
las dos condiciones separadas por OR son la misma (cambiadas de orden, pero la misma)
  #3 (permalink)  
Antiguo 12/07/2005, 07:16
 
Fecha de Ingreso: junio-2005
Mensajes: 114
Antigüedad: 19 años
Puntos: 0
Por el tipo de select, creo que utilizas 4 campos de fecha (2 de reserva y 2 de salida); estás usando el mismo en ambas condiciones.
SLds.
  #4 (permalink)  
Antiguo 12/07/2005, 10:19
 
Fecha de Ingreso: junio-2002
Mensajes: 93
Antigüedad: 22 años
Puntos: 0
Efectivamente la segunda condicion es la misma que la primera, pero el problema sigue siendo el mismo.
Les pongo algo más de código para ver si me pueden echar una ayuda:
Código PHP:
dia_entrada=request.Form("dia_entrada")
mes_entrada=request.Form("mes_entrada")
anio_entrada=request.Form("anio_entrada")
dia_salida=request.Form("dia_salida")
mes_salida=request.Form("mes_salida")
anio_salida=request.Form("anio_salida")
fecha_entrada=dia_entrada "/" mes_entrada "/" anio_entrada
fecha_salida
=dia_salida "/" mes_salida "/" anio_salida

entrada 
CDate(fecha_entrada)
salida CDate(fecha_salida)

SQL="Select * from reservas where ((fecha_salida > #"entrada &"# and fecha_entrada < #"salida &"#) )"
rs.open sql,objConn
if not rs.eof then
   
...
   ...
   ...
else
   ...
   ...
end if 
Las fechas del form son:entrada 19/07/2005 y salida 12/08/2005.
En la base de datos tengo un registro con fecha_entrada 25/07/2005 y fecha_salida 08/08/2005.

Con estos datos debiera entrar por el if pero lo hace por el else.Cualquier idea se agradecerá.

Un saludo
kaki
  #5 (permalink)  
Antiguo 12/07/2005, 11:06
 
Fecha de Ingreso: junio-2002
Mensajes: 93
Antigüedad: 22 años
Puntos: 0
como no, cosas de microsoft

Bien el problema reside en el formato de la fecha.
Yo estoy usando un formato dd/mm/aa para crear las fechas, la base de datos en access tiene la fecha tambien en formato dd/mm/aa pero la consulta debo hacerla con formato mm/dd/aa .
Así que antés de hacer la consulta sql hago lo siguiente:
Código PHP:
entradaMonth(entrada) & "/" Day(entrada) & "/" Year(entrada)
salidaMonth(salida) & "/" Day(salida) & "/" Year(salida)

SQL="Select * from reservas where ((fecha_salida > #"entrada &"# and fecha_entrada < #"salida &"#))"
rs.open sql,objConn 
Supongo que la explicación pueda estar en el motor Jet Database , pero seguro que alguno de ustedes tiene una respuesta más precisa.

Un saludo
Kaki
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 20:58.