CassioFabre 19/6/2018, 21:19
Boa tarde,
Primeiro há coisas a serem consideradas. Por se tratar de um sistema escolar (ou algo do tipo), você tem horários que a sua sala estará reservada, e não dias. Isso quer dizer que no mesmo dia, a sala pode estar reservada para mais de uma pessoa, obviamente em horários diferentes. Então primeiro, sugiro que defina horários fixos que as salas podem trocar de usuário.
Ex.: vamos supor que sua escola funcione de 18:30 às 22h, com aulas de 50 minutos e intervalo de 10 minutos entre 20:10 e 20:20. Impreterivelmente o mínimo que os professores ficarão na sala são 2 horários de aula, ou seja, 100 minutos. Com isso vai saber que no mínimo o professor ficará de 18:30 às 20:10 na sala. O máximo que vai acontecer é ele ficar os 4 horários na mesma sala, ou seja, de 18:30 às 22h. Então você, ao invés de pedir pro usuário colocar o horário que ele quer usar a sala, vai disponibilizar uma opção pra ele, já pré-preenchida com os horários: 18:30 às 20:10 /// 20:20 às 22:00. Você pode colocar isso numa combobox ou listbox e pedir pro usuário selecionar. Quando for necessário fazer a verificação de disponibilidade, basta que faça uma simples pesquisa no evento Ao Clicar de uma botão. Ficaria algo do tipo:
- Código:
If DCount("sala", "tblReserva", "codigo_sala = " & txtCodigoSala & " AND data_reserva = #" & txtDataReserva & "# AND horario_reserva = '" # cbxHorarioReserva # "'") > 0 then
MsgBox "A sala " & txtNomeSala & " já está reservada no período selecionado.", vbCritical, "Reserva"
end if
Onde:
sala é o campo na tabela que tem o nome da sala
tblReserva é a tabela onde estão as salas reservadas
codigo_sala e
txtCodigoSala são os campos na tabela e formulário, respectivamente, que contém os códigos das salas cadastradas na tabela de salas
idem para
data_reserva/
txtDataReserva e
horario_reserva/
cbxHorarioReserva.
Como seria basicamente uma mudança mais profunda no seu sistema, preferi apenas dar a ideia e não fazer de fato no seu modelo. Vou deixar para que pesquise a respeito e consiga desenvolvar à sua maneira.
Ps.: Pelas regras do fórum, não se pode postar links externo (exceto no google drive). Desta vez ajeitarei pra você, mas se atente para a próxima.
Abraço.