Pessoal Boa Tarde!
Estou com um problema que acredito ser formatação ou versão do access, pois quando criei o Bd usei o access 2003 e agota uso o 2016. Vamos lá:
tenho uma tabela para agendamento de reserva de área de lazer em um condomínio conforme modelo abaixo no repositório de exemplos:
https://www.maximoaccess.com/t18727-bd-condominio-acessos-reservas-etc?highlight=Condom%C3%ADnio
No Form tenho os campos principais e outros como seguem:
Data_Evento (Nome_Form: TxtDataEvento)
Hora_Inicio (Nome_Form: TxtHoraInicial)
Hora_Final (Nome_Form: TxtHora_final)
ID_Lazer ( Cx de combinação para escolha da área de lazer - Campo Texto) (Nome_Form: TxtTipoAgendamento)
Uso o código abaixo, ou melhor usava e estou tentando adaptar. Uma hora aceita, outra Erro de Execução Estouro, etc... mas a crítica da mensagem que já foi usado aquele horário e naquela data não está funcionando. Segue:
On Error Resume Next
If DCount("*", "TAB_RESERVA", "Data_Evento=#" & TxtDataEvento & "# and ((Hora_inicio<=#" & TxtHoraInicial & "# and Hora_final>=#" & TxtHoraInicial & "#) or (Hora_inicio<=#" & TxtHoraFinal & "# and Hora_final>=#" & TxtHoraFinal & "#)) and ID_Lazer='" & TxtTipoAgendamento & "'") > 0 Then 'existe incompatibilidade de agendamento
DoCmd.OpenForm "ATENCAO_RESERVAMARCADA" ' Msg Box personalizada para crítica de agendamento existente
End If
Me.SUBFORM_RESERVA.Requery ' Atualiza a lista de agendamentos
Lembro que o exemplo pode ser baixado no repositório de exemplo:
Login: Administrador
Senha 123
Aguardo a ajuda dos colegas aqui
Caso algum colega tenha um exemplo melhor ou mais simples para esta finalidade, fico imensamente agradecido.
Seria tipo uma agenda de compromissos, onde o evento não pode se repetir nos horários e data, mas precisa ser na grade de horário. ou seja se tenho um evento em 08/11/2017 no horário de 09:00 ás 09:30, e incluir outro na mesma data para horário 09:15 até as 09:50 ele me critique e não deixar gerar o agendamento.
Estou com um problema que acredito ser formatação ou versão do access, pois quando criei o Bd usei o access 2003 e agota uso o 2016. Vamos lá:
tenho uma tabela para agendamento de reserva de área de lazer em um condomínio conforme modelo abaixo no repositório de exemplos:
https://www.maximoaccess.com/t18727-bd-condominio-acessos-reservas-etc?highlight=Condom%C3%ADnio
No Form tenho os campos principais e outros como seguem:
Data_Evento (Nome_Form: TxtDataEvento)
Hora_Inicio (Nome_Form: TxtHoraInicial)
Hora_Final (Nome_Form: TxtHora_final)
ID_Lazer ( Cx de combinação para escolha da área de lazer - Campo Texto) (Nome_Form: TxtTipoAgendamento)
Uso o código abaixo, ou melhor usava e estou tentando adaptar. Uma hora aceita, outra Erro de Execução Estouro, etc... mas a crítica da mensagem que já foi usado aquele horário e naquela data não está funcionando. Segue:
On Error Resume Next
If DCount("*", "TAB_RESERVA", "Data_Evento=#" & TxtDataEvento & "# and ((Hora_inicio<=#" & TxtHoraInicial & "# and Hora_final>=#" & TxtHoraInicial & "#) or (Hora_inicio<=#" & TxtHoraFinal & "# and Hora_final>=#" & TxtHoraFinal & "#)) and ID_Lazer='" & TxtTipoAgendamento & "'") > 0 Then 'existe incompatibilidade de agendamento
DoCmd.OpenForm "ATENCAO_RESERVAMARCADA" ' Msg Box personalizada para crítica de agendamento existente
End If
Me.SUBFORM_RESERVA.Requery ' Atualiza a lista de agendamentos
Lembro que o exemplo pode ser baixado no repositório de exemplo:
Login: Administrador
Senha 123
Aguardo a ajuda dos colegas aqui
Caso algum colega tenha um exemplo melhor ou mais simples para esta finalidade, fico imensamente agradecido.
Seria tipo uma agenda de compromissos, onde o evento não pode se repetir nos horários e data, mas precisa ser na grade de horário. ou seja se tenho um evento em 08/11/2017 no horário de 09:00 ás 09:30, e incluir outro na mesma data para horário 09:15 até as 09:50 ele me critique e não deixar gerar o agendamento.
Última edição por APJesus em 8/11/2017, 20:11, editado 1 vez(es) (Motivo da edição : Complemento do tópico)