CALCULO COM HORAS

JMSGRILO 17/04/2012 16:12:27
#400092
Olá a todos!
Pessoal estou desenvolvendo um sisteminha para controle do uso de ofurô, onde tenho o campo para agendamento na data e horário.
A questão é a seguinte:
Preciso verificar se existe reserva em um determinado horário, ou seja, quando o usuário digitar: 16:00 horário de entrada e 16:50 horário de saída, preciso pesquisar na base de dados e verificar este sendo:

select * from CPOfuro WHERE data = Cdate([ô][Ô] & tbdata.Text & [Ô][ô]) and hora > [ô][Ô] & horaini & [Ô][ô] and horafinal < [ô][Ô] & horafim & [Ô][ô] ORDER by data[Ô]

Lembro que o banco de dados em acess.

Obrigado
KERPLUNK 17/04/2012 16:24:18
#400094
Resposta escolhida
Bem, eu nem mesmo separaria data e hora em campos diferentes, usaria o mesmo campo, fica mais fácil assim.
Mas acho que sua Query é isso mesmo, selecionando todos os registros de uma data entre um determinado horário.
ROBIU 17/04/2012 16:33:35
#400097
Tenta isso;
Dim Sql As String
Sql = [Ô]select * from CPOfuro WHERE data =#[Ô] & Format(tbdata.Text, [Ô]MM/dd/yyyy[Ô])
Sql &= [Ô]# and hora > #[Ô] & horaini & [Ô]# and horafinal < #[Ô] & horafim & [Ô]# ORDER by data[Ô]
JMSGRILO 19/04/2012 08:43:19
#400210
Olá!
Tentei a query que você me passou mas não deu certo. Retorna um erro: [Ô]Tipo de dados incompativel na expressão de critério[Ô]

Estou tentando desta forma:
Sql = [Ô]select * from CPOfuro WHERE data = cDate([ô][Ô] & tbdata.Text & [Ô][ô]) and status = [ô][Ô] & status & [Ô][ô] and hora >= [ô][Ô] & horaini & [Ô][ô] and horafinal <= [ô][Ô] & horafim & [Ô][ô][Ô]

Ele aceita mas não surte resultado algum, já que não analisa a faixa de horário para a data.
Na verdade eu preciso do seguinte, pesquisa em uma faixa de horário se existem reservas, caso exista é disparado uma mensagem ao usuário.

Exemplo: 19/04/2012 - 09:00 as 09:50

Quando eu tentar reservar para a data acima na faixa do horário entre 09:00 as 09:50 ou 09:10 as 10:00 ele avisará que existe uma reserva para este horário.
No código acima, não está funcionando.

Obrigado

ROBIU 19/04/2012 09:50:28
#400215
Dá para enviar o projeto, ou o banco access? Tem Campo Data ou hora vazio? Tenta assim:

Sql = [Ô]select * from CPOfuro WHERE data =#[Ô] & Format(tbdata.Text, [Ô]MM/dd/yyyy[Ô])
Sql &= [Ô]# and hora > [ô][Ô] & horaini & [Ô][ô] and horafinal < [ô][Ô] & horafim & [Ô][ô] ORDER by data[Ô]
Tópico encerrado , respostas não são mais permitidas