MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Checar se a Hora está dentro do Intervalo

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 196
    Registrado : 29/04/2011

    [Resolvido]Checar se a Hora está dentro do Intervalo Empty [Resolvido]Checar se a Hora está dentro do Intervalo

    Mensagem  vinicius.anna em 23/10/2020, 15:18

    Bom dia

    Tenho a seguinte situação:

    Possuo uma tabela (tb_IndicacaoDtHr) que possui um campo para Data  e outros dois campos (hrIni - Hora Inicial) e (hrFin - Hora Final). No formulário tentei adaptar uma função de um tópico para que cheque se o valor digitado no campo Hora (agHora) está contido no intervalo na tabela de indicação de data e hora, caso esteja, apresento a mensagem. Minha dificuldade é que não estou a conseguir adaptar o código para fazer esta consulta por intervalo para indicar se o horário digitado no formulário está ou não contido em algum intervalo constante na tabela.

    Alguém tem alguma dica de como possa vir a resolver a situação?

    Desde já muito obrigado.

    Disponibilizo breve exemplo com a tentativa de solução frustrada.

    Att.
    Vinicius
    Anexos
    [Resolvido]Checar se a Hora está dentro do Intervalo Attachmentteste.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (24 Kb) Baixado 4 vez(es)


    Última edição por vinicius.anna em 23/10/2020, 15:19, editado 1 vez(es) (Razão : Esqueci o anexo)
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3686
    Registrado : 04/04/2010

    [Resolvido]Checar se a Hora está dentro do Intervalo Empty Re: [Resolvido]Checar se a Hora está dentro do Intervalo

    Mensagem  Avelino Sampaio em 23/10/2020, 15:56

    Olá!

    Altere a consulta conforme indicação abaixo e teste.

    sSQL = "SELECT COUNT(id_indicacao) AS cnt FROM tb_indicacaodthr"
    sSQL = sSQL & " WHERE Id_MedicoInd= " & Me.id_medico & " "
    sSQL = sSQL & " AND dtDataInd=#" & Format(Me.dtData, "mm/dd/yyyy") & "# "
    sSQL = sSQL & " AND hrIni <=#" & Me!agHora
    sSQL = sSQL & "# AND hrFin >= #" & Me!agHora & "#; "


    Aguardamos.


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.

    vinicius.anna gosta desta mensagem

    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 196
    Registrado : 29/04/2011

    [Resolvido]Checar se a Hora está dentro do Intervalo Empty Re: [Resolvido]Checar se a Hora está dentro do Intervalo

    Mensagem  vinicius.anna em 23/10/2020, 16:06

    Olá Avelino

    Muito obrigado......, funcionou parcialmente conforme desejado......, não havia percebido....., se eu indicar na tabela (tb_IndicacaoDtHr) dois intervalos para o mesmo dia, exemplo, na tabela agora tenho bloqueio em 23/10/2020 das 07:00 às 11:00....., se eu incluir no dia 23/10/2020 das 16:00 ás 18:00 a verificação identifica o bloqueio apenas para o horário das 16:00 ás 18:00 deixando de validar das 07:00 às 11:00.

    Tem alguma dica de como possa vir a ajustar isto?

    Muito obrigado novamente

    Att.
    Vinicius
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Checar se a Hora está dentro do Intervalo Empty Re: [Resolvido]Checar se a Hora está dentro do Intervalo

    Mensagem  Celso Roberto em 23/10/2020, 17:16

    Olá..

    Outra possibilidade:

    Código:
    sSQL = "SELECT COUNT(id_indicacao) AS cnt FROM tb_indicacaodthr"
        sSQL = sSQL & " WHERE Id_MedicoInd= " & Me.id_medico & " "
        sSQL = sSQL & " AND dtDataInd=#" & Format(Me.dtData, "mm/dd/yyyy") & "# "
        sSQL = sSQL & " AND #" & Me!agHora & "# between hrIni and hrfin "

    Aguardamos Retorno

    Abraços


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    Avelino Sampaio e vinicius.anna gostam desta mensagem

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3686
    Registrado : 04/04/2010

    [Resolvido]Checar se a Hora está dentro do Intervalo Empty Re: [Resolvido]Checar se a Hora está dentro do Intervalo

    Mensagem  Avelino Sampaio em 23/10/2020, 17:31

    Olá!

    Teste com estas modificações:

    Public Function fncChecaAgendaHora() As Boolean
    On Error GoTo trata_erro
    Dim sSQL As String
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim blnAgendado As Boolean

    Set db = CurrentDb
    sSQL = "SELECT * FROM tb_indicacaodthr"
    sSQL = sSQL & " WHERE Id_MedicoInd= " & Me.id_medico & " "
    sSQL = sSQL & " AND dtDataInd=#" & Format(Me.dtData, "mm/dd/yyyy") & "#;"

    Set rs = db.OpenRecordset(sSQL)
    Do While Not rs.EOF
    If Eval("#" & Me!agHora & "# Between #" & rs!hrIni & "# AND #" & rs!hrfin & "#") Then blnAgendado = True
    rs.MoveNext
    Loop
    rs.Close
    fncChecaAgendaHora = blnAgendado
    Set rs = Nothing

    Exit Function

    trata_erro:
    MsgBox "Erro gerado: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
    Exit Function

    End Function


    Aguardamos


    .................................................................................
    Quer aprender a montar ribbons ?  
    Clique AQUI e conheça o meu aplicativo.
    avatar
    vinicius.anna
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 196
    Registrado : 29/04/2011

    [Resolvido]Checar se a Hora está dentro do Intervalo Empty Re: [Resolvido]Checar se a Hora está dentro do Intervalo

    Mensagem  vinicius.anna em 23/10/2020, 17:35

    Olá,

    Boa tarde

    Muito obrigado, questão resolvida.

    Obrigado pela atenção.

    Att.
    Vinicius
    Celso Roberto
    Celso Roberto
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1071
    Registrado : 01/03/2014

    [Resolvido]Checar se a Hora está dentro do Intervalo Empty Re: [Resolvido]Checar se a Hora está dentro do Intervalo

    Mensagem  Celso Roberto em 23/10/2020, 18:29

    Olá..

    Agradecemos o seu Retorno

    Abraços e sucesso!!


    .................................................................................


    Você fica satisfeito ao ter sua dúvida solucionada?.
    Quem te ajuda também fica quando você da o tópico por "Resolvido".
    Veja como neste Link: https://www.maximoaccess.com/t860-resolucao-de-topicos



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: 4/12/2020, 13:47