MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


3 participantes

    [Resolvido]Inconsistência em Agendamentos!

    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Inconsistência em Agendamentos! Empty [Resolvido]Inconsistência em Agendamentos!

    Mensagem  APJesus 8/11/2017, 20:08

    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.


    Última edição por APJesus em 8/11/2017, 20:11, editado 1 vez(es) (Motivo da edição : Complemento do tópico)
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Inconsistência em Agendamentos! Empty Re: [Resolvido]Inconsistência em Agendamentos!

    Mensagem  CassioFabre 9/11/2017, 11:28

    Bom dia,

    Tente substituir o DCOUNT por:
    Código:
    If DCount("Data_Evento", "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

    [...]

    End if

    Abraço.


    .................................................................................
    Só não tem código pra morte!
    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Inconsistência em Agendamentos! Empty Re: [Resolvido]Inconsistência em Agendamentos!

    Mensagem  APJesus 9/11/2017, 11:56

    Cassio, Bom dia!
    Obrigado pela atenção, mas continua aceitando o evento mesmo já agendado.

    Tô ficando louco com isso aqui, pois este código funcionava e agora nada. E nada foi alterado nele.

    Obs: Foi alterado somente o "*" que seria todos os campos para um campo específico (Data_Evento) certo?

    Abraços,
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Inconsistência em Agendamentos! Empty Re: [Resolvido]Inconsistência em Agendamentos!

    Mensagem  Alexandre Neves 9/11/2017, 14:07

    Boa tarde,
    reveja as condições
    se tiver já registado periodo das 0700 as 0900
    ele aceita registar periodo das 0600 as 0800


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Inconsistência em Agendamentos! Empty Re: [Resolvido]Inconsistência em Agendamentos!

    Mensagem  APJesus 9/11/2017, 18:11

    Boa Tarde, Alexandre!
    Obrigado pela atenção.

    Na grade de horário também aceita. Ex: se tem agendado 09:00 as 09:30 e agendar outro para 09:20 ás 09:25 ele aceita e antes criticava. E se eu colocar o mesmo horário Ex: 09:00 as 09:30 ele também aceita e não critica. Vou rever as condições como sugerido...

    Se não me engano as dicas para construção desta condição foi você que me ajudou e muito e ficou sensacional, mas agora não funciona.
    APJesus
    APJesus
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 367
    Registrado : 21/09/2010

    [Resolvido]Inconsistência em Agendamentos! Empty Re: [Resolvido]Inconsistência em Agendamentos!

    Mensagem  APJesus 9/11/2017, 19:29

    Alexandre, Boa tarde!
    Feito e Resolvido! Segue abaixo a alteração e implementação do código baseado na sua sugestão e funcionando.
    * Ao Cassio Fabre também segue meu agradecimento pela atenção dispensada.

    Agora mesmo com antecedência do agendamento é criticado.

    Muito obrigado por me fazer pensar ( rsrsrsrsr )

    Abraços>

    Segue código:

    If Nz(DCount("*", "TAB_RESERVA", "Data_Evento=#" & Format(Me.TxtDataEvento, "mm-dd-yyyy") & "# and ((Hora_inicio>=#" & TxtHoraInicial & _
    "# and Hora_final>=#" & TxtHoraFinal & "#) or (Hora_inicio<=#" & TxtHoraInicial & "# and Hora_final>=#" & TxtHoraInicial & "#) or (Hora_inicio<=#" & TxtHoraFinal & _
    "# and Hora_final>=#" & TxtHoraInicial & "#)) and ID_Lazer='" & TxtTipoAgendamento & "'"), 0) >= 1 Then 'existe incompatibilidade de agendamento
    DoCmd.OpenForm "ATENCAO_RESERVAMARCADA"
    DoCmd.CancelEvent
    End If
    Me.SUBFORM_RESERVA.Requery




    Última edição por APJesus em 9/11/2017, 19:31, editado 1 vez(es) (Motivo da edição : Complemento da resposta.)

    Conteúdo patrocinado


    [Resolvido]Inconsistência em Agendamentos! Empty Re: [Resolvido]Inconsistência em Agendamentos!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 03:23