Consulta dias existentes no período

Delphi

18/10/2003

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


Rafaelunp

Rafaelunp

Curtidas 0

Respostas

Rafaelunp

Rafaelunp

18/10/2003

Pessoal?!


GOSTEI 0
Adilsond

Adilsond

18/10/2003

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;



GOSTEI 0
POSTAR