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


Rafaelunp

Rafaelunp

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar