Pesquisar na tabela

Delphi

22/07/2003

Digamos que eu tenha a apto 105 reservado para o periodo de 25/07/2003 a 30/07/2003, se eu tentar reservar este mesmo apto dentro deste periodo por exemplo para o dia 26/07/2003 ele me dá o aviso que o apto já está reservado para aquele período, deu para entender?

Estou fazendo a seguinte query mas não está funcionando direito:

qryVerPeriodo.close;
qryVerPeriodo.open;
if qryVerPeriodo.Locate(´Num_apto´, dm.tblDisponNum_apto.Value, []) and
(qryVerPeriodoData_res.Value = dm.tblDisponData_res.Value) then
begin
qryVerPeriodo.Params[0].Value := StrToDate(edtData.Text);
qryVerPeriodo.Params[1].Value := StrToDate(edtPrevSaida.Text);
end;
Application.MessageBox(´O apartamento já encontra-se reservado ´+
#13 + ´para este período!´,´Aviso´,
MB_ICONWARNING + MB_OK);
edtApto.SetFocus;
end;

Marcelo.


Marcrv2

Marcrv2

Curtidas 0

Respostas

Lindomar.des

Lindomar.des

22/07/2003

Marcelo,

Antes de abrir a query você tem que passar os parâmetros.EX:

qryVerPeriodo.close;
qryVerPeriodo.Params[0].Value := StrToDate(edtData.Text);
qryVerPeriodo.Params[1].Value := StrToDate(edtPrevSaida.Text);
qryVerPeriodo.Params[2].Value := apto// sugiro a inclusão deste param.
qryVerPeriodo.open;

if qryVerPeriodo.recordcount > 0 then
Application.MessageBox(´O apartamento já encontra-se reservado ´+
#13 + ´para este período!´,´Aviso´,
MB_ICONWARNING + MB_OK);
edtApto.SetFocus;


GOSTEI 0
Crash

Crash

22/07/2003

Faz o seguinte: Em uma query coloque o seguinte SQL:

Select * from TabelaReservas
Where CodigoQuarto = :vCodigoQuarto
And DataIni between :vDataIniRes and :vDataFinRes

Só poderá haver um registro para reserva durante esse periodo. Então você passa os parâmetros para a query e a abre. Se ela estiver em branco (isEmpty) não existe nenhuma reserva.

t+


GOSTEI 0
POSTAR