Fórum Consulta dias existentes no período #189476
18/10/2003
0
Pessoal,
Seguinte: Estou fazendo um Sistema para um aparthotel. Tenho uma tabela com vários registros dentre eles duas datas (DataEnt e DataSai) e o Apartamento. Não posso permitir que o usuário salve um registro para um determinado dia num mesmo apartamento.
Ex:
Cod Apto DataEnt DataSai
1 101 10/10/03 12:00:00 15/10/03 12:00:00
2 101 14/10/03 12:00:00 17/10/03 12:00:00
Não posso permitir que o registro 02 seja incluído, pois dia 14 ainda compreende a hospedagem do registro 01.
1º) Como posso fazer essa consulta, com base nos dias??
2º) Atentei agora para outro detalhe (eu não havia colocado as horas (datetime) no registro... Mas vai ser necessário pois pode haver uma hospedagem para o dia 15/10 (que está ocupado) para depois das 12horas!
Como faço essa consulta? :?:
O que vocês sugerem para eu resolver o 2º problema!? :?:
Desde Já Agradeço
Seguinte: Estou fazendo um Sistema para um aparthotel. Tenho uma tabela com vários registros dentre eles duas datas (DataEnt e DataSai) e o Apartamento. Não posso permitir que o usuário salve um registro para um determinado dia num mesmo apartamento.
Ex:
Cod Apto DataEnt DataSai
1 101 10/10/03 12:00:00 15/10/03 12:00:00
2 101 14/10/03 12:00:00 17/10/03 12:00:00
Não posso permitir que o registro 02 seja incluído, pois dia 14 ainda compreende a hospedagem do registro 01.
1º) Como posso fazer essa consulta, com base nos dias??
2º) Atentei agora para outro detalhe (eu não havia colocado as horas (datetime) no registro... Mas vai ser necessário pois pode haver uma hospedagem para o dia 15/10 (que está ocupado) para depois das 12horas!
Como faço essa consulta? :?:
O que vocês sugerem para eu resolver o 2º problema!? :?:
Desde Já Agradeço
Rafaelunp
Curtir tópico
+ 0
Responder
Posts
19/10/2003
Rafaelunp
Pessoal?!
Responder
Gostei + 0
19/10/2003
Adilsond
function TForm1.AptoEmUso: Boolean; begin with TQuery.Create(Self) do try DatabaseName := Table1.DatabaseName; SessionName := Table1.SessionName; SQL.Clear; SQL.Add(´select count(*)´); SQL.Add(´from minhatabela´); SQL.Add(´where apto = ´ + Table1Apto.AsString); SQL.Add(´ and dataent >= :dataent´); SQL.Add(´ and datasai <= :dataent´); ParamByName(´dataent´).AsDateTime := Table1DataEnt.AsDateTime; Open; try Result := Fields[0].AsInteger > 0; finally Close; end; finally Free; end; end; procedure TForm1.Table1BeforePost(DataSet: TDataSet); begin if AptoEmUso then raise EDatabaseError.Create(´Apto esta em uso nesta data.´); end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)