Fórum Pesquisar na tabela #170760

22/07/2003

0

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

Responder

Posts

22/07/2003

Lindomar.des

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;


Responder

Gostei + 0

22/07/2003

Crash

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+


Responder

Gostei + 0

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

Aceitar