Ayuda sobre manejo de fechas
Hola gente! Como les va? Tengo una duda con manejos de fechas.
Estoy haciendo un sistema para la reserva de unas cabañas. El tema es que yo tengo que decir si una cabaña esta ocupada o libre , voy a tener dos fechas , fecha desde y fecha hasta , quiero saber como hacer que por ejemplo si un cliente viene y me dice que quiere una cabaña desde tal fecha hasta tal fecha que el sistema me diga si la fecha que selecciono el cliente esta ocupada o libre . Desde ya muchas gracias , necesito saber porque estoy al horno jaja. Un abrazo! |
tienes las estructuras de las tablas?
algun codigo que hayas avanzado? |
aunque se me ocurre que en una tabla coloques por ejemplo lo siguiente
si reservas una cabaña del 15/10 al 18/10 Cita:
se entendio? |
No no tengo nada , lo tengo que empezar . Tengo que usar la tabla reservas (id_cab,id_cli,res_fdesde,res_fhasta,res_fecha,res_importe,res_obse,res_agente) cuando hago una reserva tengo que guardar en esta tabla el id del cliente (id_cli) y los demas datos.
|
si entiendo pero cuando yo hago eso que vos hiciste , el sistema me tiene que tirar solo si la cabaña esta ocupada o libre , entendes?
|
mmmm
podrias ir buscando las fechas en la tabla que te dije siguiendo el mismo ejemplo si reservas una cabaña del 15/10 al 18/10 y viene otra persona y quiere reservar del 17 al 21 el modulo podria buscar desde el dia 17 al 21 en la tabla que te dije y mostraria algo asi Cita:
|
Si entendi pero yo lo que necesito es tener el código para calcular eso que me estas diciendo, ese es el tema :/
|
ohhh ya...
codigo... tienes algo? tienes al menos el modulo de la reserva de las cabañas? |
Hola francodelphi.
Para consultar si está ocupada sólo es necesario evaluar la fecha hasta. Un ejemplo: A fines del ejemplo asigné los valores a mano, pero lógicamente el valor de OcupadaHasta deberá ser obtenido de alguna tabla. Saludos. |
Cita:
lo que le planteas, no te da una fecha exacta de cuando este libre la cabaña |
uses DateUtils;
var var OcupadaHasta: TDateTime; FechaConsulta: TDateTime; begin OcupadaHasta:= StrToDateTime('05/01/2011 10:00:00 a.m.'); // fecha hasta FechaConsulta:= StrToDateTime('05/01/2011 09:01:00 a.m.'); // fecha a consultar if CompareDateTime(OcupadaHasta, FechaConsulta) = -1 then Caption:= 'LIBRE' else Caption:= 'OCUPADA'; Lo que no entiendo , es que aca ustedes le asignan una fecha . Yo tengo que tomar referencia con los 2 campos de fecha de la tabla ya cargadas , y ahi que el sistema me diga si esta ocupada o no..osea, como levanto las fechas de la tabla de la bd?, mas arriba puse los campos de mi bd..y una mas, si mi cabaña esta ocupada del 10/10/2011 al 15/10/2011 y viene otra persona y me la quiere alquilar del 11/10/2011 al 14/10/2011 como hago el control para que me diga que esta ocupada? |
eso te explicaba en post anteriores
pseudocodigo:
|
Hola.
Cita:
Llamada de ejemplo:
Un saludo. |
La franja horaria es GMT +2. Ahora son las 05:59:30. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi