ya no puedo mas (DE FECHAS)

12/02/2004 - 17:53 por una buena persona | Informe spam
estoy realizando una aplicacion para un hotel, necesito verificar las fechas
de entradas en las habitaciones, para que el cliente pueda consultar online
si esta ocupado o no, tengo esta cadena de sql, pero nada, que no funciona

"aaaa/MM/dd"
SELECT id from fecha WHERE (((fecha.fechaentrada)>=#2004/2/02#) AND
((fecha.fechasalida)<=#2004/2/10#) AND ((fecha.habitacion)='1'))

Tambien he provado con esto "MM/dd/aaaa"

SELECT id from fecha WHERE (((fecha.fechaentrada)>=#2/02/2004#) AND
((fecha.fechasalida)<=#2/10/2004#) AND ((fecha.habitacion)='1'))

el servidor tiene las fechas en formato "MM/DD/AAAA"

no puedo ni dormir, por favor, se que es una chorrada, pero no logro
encontrar el pq

Gracias, Jonny And Company, que nos lo he podido decir antes, pero he
gracias por ayudarme con esto, lo que me dijisteis no funciono.

Preguntas similare

Leer las respuestas

#11 urko
13/02/2004 - 11:34 | Informe spam
buenas
haber si te entiendo bien
tu guardas en la BD la fecha de entrada y fecha de salida en esa habitacion
no?
vamos supongamos que un cliente tiene esa habitacion
del 12-02-2004 al 16-02-2004
y otro cliente
del 18-02-2004 al 21-02-2004
supongo que si la consulta te devuelve un registro es que la habitacion esta
ocupada

supongamos que llega un cliente y quiere verificar
su entrada el 13-02-2004
y salida el 20-02-2004
entonces pienso que deberias de verificar

1.si la fecha de entrada esta ocupada, si existe rango de fechas en la BD
SELECT id FROM fecha WHERE fechaentrada<= #2004/02/13# and fechasalida
#2004/02/13# AND habitacion='1'


esto te devolveria que la habitacion esta ocupada ya que hay un cliente
del 12-02-2004 al 16-02-04

2.si la fecha de salida esta ocupada, si existe rango de fechas en la BD
SELECT id FROM fecha WHERE fechaentrada< #2004/02/20# and fechasalida >#2004/02/20# AND habitacion='1'
esto te devolveria que la habitacion esta ocupada ya que hay un cliente
del 18-02-2004 al 21-02-04

Otra mas si hay un cliente que quiere entrar el 16-02-2004 y salir
18-02-2004
hacemos la consulta
SELECT id FROM fecha WHERE fechaentrada<= #2004/02/16# and fechasalida
#2004/02/16# AND habitacion='1'


SELECT id FROM fecha WHERE fechaentrada< #2004/02/18# and fechasalida
= #2004/02/18# AND habitacion='1'


esto no te devuelve registros ya que suponemos que si el cliente tiene
salida el 18 el otro puede entrar el 18

podriamos juntar en una sola consulta
SELECT id FROM fecha WHERE ((fechaentrada<= #2004/02/16# and fechasalida >
#2004/02/16#)OR(fechaentrada< #2004/02/18# and fechasalida >= #2004/02/18#))
AND habitacion='1'

bueno espero haberme expl.icado bien y espero haberte ayudado.
mas o menos es coger la idea, y espero despues de la chgapa que he metido
que no se me haya colado algun BUG, error.
saludos
urko














"una buena persona" escribió en el mensaje
news:
Hola gracias a todos, creo que la cosa esta resuelta, pare ser que estamos
planteando mal la consulta, puesto que si selecionamos Fecha entrada >> (fecha entrada en combos) y Fecha salida <= (a fecha salida en combos)

osea esto
SELECT id FROM fecha WHERE fechaentrada >= #2004/02/16# and fechasalida
<= #2004/02/21# AND habitacion='1'

no va a selecionar bien los registros nunca, por que??, pues muy sencillo,
si el cliente desea consultar si esta disponible la fecha 16/02/2004 asta


la
21/02/2004, no va selecionarsela, puesto que la fechas de entradas siempre
seran menores y nunca mayor y sin embargo la fecha de salida si

pero si lo hacemos asi

SELECT id FROM fecha WHERE fechasalida >= #2004/02/16# and fechaentrada
<= #2004/02/21# AND habitacion='1'

de esta forma lo coje todo a la perfeccion, si alguien ve que me confundo,
que lo diga, me gustaria que alguien me diera su opinion a respecto de


esta
situación.

GRACIAS A TODOS



"Jorge Ramón" escribió en el mensaje
news:f42401c3f19d$a638b6c0$
Hola!

Probá esto:

SELECT id from fecha WHERE (((fecha.fechaentrada)
>='2004/2/02 00:00:01') AND
((fecha.fechasalida)<='2004/2/10 23:59:59') AND
((fecha.habitacion)='1'))

Qué tenés de base de datos? Qué error te da?


>estoy realizando una aplicacion para un hotel, necesito
verificar las fechas
>de entradas en las habitaciones, para que el cliente
pueda consultar online
>si esta ocupado o no, tengo esta cadena de sql, pero
nada, que no funciona
>
>"aaaa/MM/dd"
>SELECT id from fecha WHERE (((fecha.fechaentrada)
>=#2004/2/02#) AND
>((fecha.fechasalida)<=#2004/2/10#) AND
((fecha.habitacion)='1'))
>
>Tambien he provado con esto "MM/dd/aaaa"
>
>SELECT id from fecha WHERE (((fecha.fechaentrada)
>=#2/02/2004#) AND
>((fecha.fechasalida)<=#2/10/2004#) AND
((fecha.habitacion)='1'))
>
>el servidor tiene las fechas en formato "MM/DD/AAAA"
>
>no puedo ni dormir, por favor, se que es una chorrada,
pero no logro
>encontrar el pq
>
>Gracias, Jonny And Company, que nos lo he podido decir
antes, pero he
>gracias por ayudarme con esto, lo que me dijisteis no
funciono.
>
>
>.
>


Respuesta Responder a este mensaje
#12 Jhonny Vargas P.
13/02/2004 - 13:00 | Informe spam
Hola...

Un campo fecha es distinto al "como se muestran"... por lo tanto, si le
preguntas ¿como se guardan las fechas?... la respuesta es "en un tipo
fecha"... y es distinto como se visualiza en el Sistema Operativo o en
Access, ya que de esto depende de la configuración regional.


Saludos,
Jhonny Vargas P. [MS-MVP]
Santiago de Chile
http://www.mvp.cl

"urko" escribió en el mensaje
news:
en la bazse de datos como se guardan las fechas?
formato MM/DD/AAAA?
saludos
urko


"una buena persona" escribió en el mensaje
news:
> directamente error
>
>
> "urko" escribió en el mensaje
> news:
> > alguien puso en este foro un sistema para comprar fechas
> > fechanacimiento1="01/01/1970"
> > fechanacimiento2="31/12/1972"
> > cadenasql=cadenasql&" and
> > anonacimiento>="&cstr(clng(cdate(fechanacimiento1)))
> > cadenasql=cadenasql&" and
> > anonacimiento<="&cstr(clng(cdate(fechanacimiento2)))
> >
> > haber si te vale
> > en tu caso prueba
> > " .fecha.fechasalida<="&cstr(clng(cdate("10/02/2004")))&""
> > saludos
> > urko
> >
> >
> > "una buena persona" escribió en el mensaje
> > news:
> > > estoy realizando una aplicacion para un hotel, necesito verificar


las
> > fechas
> > > de entradas en las habitaciones, para que el cliente pueda consultar
> > online
> > > si esta ocupado o no, tengo esta cadena de sql, pero nada, que no
> funciona
> > >
> > > "aaaa/MM/dd"
> > > SELECT id from fecha WHERE (((fecha.fechaentrada)>=#2004/2/02#) AND
> > > ((fecha.fechasalida)<=#2004/2/10#) AND ((fecha.habitacion)='1'))
> > >
> > > Tambien he provado con esto "MM/dd/aaaa"
> > >
> > > SELECT id from fecha WHERE (((fecha.fechaentrada)>=#2/02/2004#) AND
> > > ((fecha.fechasalida)<=#2/10/2004#) AND ((fecha.habitacion)='1'))
> > >
> > > el servidor tiene las fechas en formato "MM/DD/AAAA"
> > >
> > > no puedo ni dormir, por favor, se que es una chorrada, pero no logro
> > > encontrar el pq
> > >
> > > Gracias, Jonny And Company, que nos lo he podido decir antes, pero


he
> > > gracias por ayudarme con esto, lo que me dijisteis no funciono.
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#13 una buena persona
13/02/2004 - 13:26 | Informe spam
efectivamente urko, tambien puede servir

Gracias

"urko" escribió en el mensaje
news:#
buenas
haber si te entiendo bien
tu guardas en la BD la fecha de entrada y fecha de salida en esa


habitacion
no?
vamos supongamos que un cliente tiene esa habitacion
del 12-02-2004 al 16-02-2004
y otro cliente
del 18-02-2004 al 21-02-2004
supongo que si la consulta te devuelve un registro es que la habitacion


esta
ocupada

supongamos que llega un cliente y quiere verificar
su entrada el 13-02-2004
y salida el 20-02-2004
entonces pienso que deberias de verificar

1.si la fecha de entrada esta ocupada, si existe rango de fechas en la BD
SELECT id FROM fecha WHERE fechaentrada<= #2004/02/13# and


fechasalida
> #2004/02/13# AND habitacion='1'
esto te devolveria que la habitacion esta ocupada ya que hay un


cliente
del 12-02-2004 al 16-02-04

2.si la fecha de salida esta ocupada, si existe rango de fechas en la BD
SELECT id FROM fecha WHERE fechaentrada< #2004/02/20# and fechasalida
#2004/02/20# AND habitacion='1'


esto te devolveria que la habitacion esta ocupada ya que hay un cliente
del 18-02-2004 al 21-02-04

Otra mas si hay un cliente que quiere entrar el 16-02-2004 y salir
18-02-2004
hacemos la consulta
SELECT id FROM fecha WHERE fechaentrada<= #2004/02/16# and


fechasalida
> #2004/02/16# AND habitacion='1'
SELECT id FROM fecha WHERE fechaentrada< #2004/02/18# and fechasalida
>= #2004/02/18# AND habitacion='1'
esto no te devuelve registros ya que suponemos que si el cliente tiene
salida el 18 el otro puede entrar el 18

podriamos juntar en una sola consulta
SELECT id FROM fecha WHERE ((fechaentrada<= #2004/02/16# and fechasalida

#2004/02/16#)OR(fechaentrada< #2004/02/18# and fechasalida >#2004/02/18#))
AND habitacion='1'

bueno espero haberme expl.icado bien y espero haberte ayudado.
mas o menos es coger la idea, y espero despues de la chgapa que he metido
que no se me haya colado algun BUG, error.
saludos
urko














"una buena persona" escribió en el mensaje
news:
> Hola gracias a todos, creo que la cosa esta resuelta, pare ser que


estamos
> planteando mal la consulta, puesto que si selecionamos Fecha entrada >> > (fecha entrada en combos) y Fecha salida <= (a fecha salida en combos)
>
> osea esto
> SELECT id FROM fecha WHERE fechaentrada >= #2004/02/16# and


fechasalida
> <= #2004/02/21# AND habitacion='1'
>
> no va a selecionar bien los registros nunca, por que??, pues muy


sencillo,
> si el cliente desea consultar si esta disponible la fecha 16/02/2004


asta
la
> 21/02/2004, no va selecionarsela, puesto que la fechas de entradas


siempre
> seran menores y nunca mayor y sin embargo la fecha de salida si
>
> pero si lo hacemos asi
>
> SELECT id FROM fecha WHERE fechasalida >= #2004/02/16# and


fechaentrada
> <= #2004/02/21# AND habitacion='1'
>
> de esta forma lo coje todo a la perfeccion, si alguien ve que me


confundo,
> que lo diga, me gustaria que alguien me diera su opinion a respecto de
esta
> situación.
>
> GRACIAS A TODOS
>
>
>
> "Jorge Ramón" escribió en el mensaje
> news:f42401c3f19d$a638b6c0$
> Hola!
>
> Probá esto:
>
> SELECT id from fecha WHERE (((fecha.fechaentrada)
> >='2004/2/02 00:00:01') AND
> ((fecha.fechasalida)<='2004/2/10 23:59:59') AND
> ((fecha.habitacion)='1'))
>
> Qué tenés de base de datos? Qué error te da?
>
>
> >estoy realizando una aplicacion para un hotel, necesito
> verificar las fechas
> >de entradas en las habitaciones, para que el cliente
> pueda consultar online
> >si esta ocupado o no, tengo esta cadena de sql, pero
> nada, que no funciona
> >
> >"aaaa/MM/dd"
> >SELECT id from fecha WHERE (((fecha.fechaentrada)
> >=#2004/2/02#) AND
> >((fecha.fechasalida)<=#2004/2/10#) AND
> ((fecha.habitacion)='1'))
> >
> >Tambien he provado con esto "MM/dd/aaaa"
> >
> >SELECT id from fecha WHERE (((fecha.fechaentrada)
> >=#2/02/2004#) AND
> >((fecha.fechasalida)<=#2/10/2004#) AND
> ((fecha.habitacion)='1'))
> >
> >el servidor tiene las fechas en formato "MM/DD/AAAA"
> >
> >no puedo ni dormir, por favor, se que es una chorrada,
> pero no logro
> >encontrar el pq
> >
> >Gracias, Jonny And Company, que nos lo he podido decir
> antes, pero he
> >gracias por ayudarme con esto, lo que me dijisteis no
> funciono.
> >
> >
> >.
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida