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]Contar dias uteis - ajuda simples

    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Contar dias uteis - ajuda simples Empty [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  werlewow em 9/4/2019, 21:24

    Boa tarde a todos, tenho uma duvida bem simples.
    Estou fazendo uma consulta no access para retornar os dados entre os últimos 20 dias até 3 dias atras, referente a data atual, porém gostaria que retornasse em dias uteis (no caso de seg a sexta). Eu utilizei na linha critério o seguinte cod:

    exemplo: < Agora()-3 E >Agora()-20 "

    Mas logicamente esse código considera os finais de semana...

    Obs: Feriados podem ser desconsiderados do código, não precisa ser tão certo assim.

    Obrigado
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  Alexandre Fim em 10/4/2019, 14:13


    Gabriel bom dia,

    Na sua consulta, vc pode criar uma coluna chamada "DiaUtil", com a seguinte instrução:

    DiaUtil: SeImed(DiaSem(Agora())=1 Ou DiaSem(Agora())=7;'N';'S')

    A função verifica o dia da semana, da seguinte forma:
    1 - domingo
    2 - segunda
    3 - terça
    4 - quarta
    5 - quinta
    6 - sexta
    7 - sábado

    E no critério desta colunana voce pode colocar:
    ="S" conforme abaixo:

    [Resolvido]Contar dias uteis - ajuda simples Criter10


    Boa sorte.

    []'s



    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  werlewow em 10/4/2019, 18:02

    Acho que não fui claro na minha duvida.
    Todos os meus registros já ocorrem em dias da semana, mas o que preciso é pegar os registros a partir de 20 dias uteis atras até 3 dias uteis atras, ou seja, se hoje fosse segunda-feira, preciso dos registro de 20 dias uteis atras até quarta-feira da semana passada, ou seja, 3 dias uteis atras, se fosse 3 dias corridos, seria sexta-feira da semana anterior, entende?

    Obrigado
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  Alexandre Fim em 10/4/2019, 18:57

    Olá,

    Seria mais viável fazer isso no VBA.


    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  werlewow em 10/4/2019, 20:10

    pode me ajudar ? Very Happy
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1148
    Registrado : 13/12/2016

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  Alexandre Fim em 10/4/2019, 20:25

    Sim.

    Me manda um exemplo de banco de dados pra fazer essa consulta.

    Valeu

    []'S
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  werlewow em 10/4/2019, 21:04

    Segue em anexo

    Na consulta "Não_consta_PP" quero que retorne os dados dos últimos 20 dias uteis atras até 3 dias uteis atras.

    Obg
    Anexos
    [Resolvido]Contar dias uteis - ajuda simples Attachmentnao consta PP - Cópia.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (302 Kb) Baixado 11 vez(es)
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  werlewow em 15/4/2019, 18:06

    Alguem? Sad
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  Alexandre Neves em 16/4/2019, 10:01

    Bom dia
    Nomeie de forma normalizada, nomes de campos sem espaços nem caracteres especiais, etc
    sobre a sua dúvida, não foi claro no campo que pretende filtrar, fiz para o F6

    Código:
    Function TresDiasUteisAntes() As Date
        '--------------------------------------------------------------'
        '  código criado por Alexandre Neves, do Fórum MaximoAccess  '
        '    utilize o código livremente mas mantenha os créditos    '
        '--------------------------------------------------------------'
        Dim bytDias As Byte
        Dim Dia As Date
        Dia = Date
        Do
            Dia = Dia - 1
            Select Case Weekday(Dia)
            Case 2 To 5
                bytDias = bytDias + 1
            End Select
            If bytDias = 3 Then Exit Do
        Loop
        TresDiasUteisAntes = Dia
    End Function

    Function VinteDiasUteisAntes() As Date
        '--------------------------------------------------------------'
        '  código criado por Alexandre Neves, do Fórum MaximoAccess  '
        '    utilize o código livremente mas mantenha os créditos    '
        '--------------------------------------------------------------'
        Dim bytDias As Byte
        Dim Dia As Date
        Dia = Date
        Do
            Dia = Dia - 1
            Select Case Weekday(Dia)
            Case 2 To 5
                bytDias = bytDias + 1
            End Select
            If bytDias = 20 Then Exit Do
        Loop
        VinteDiasUteisAntes = Dia
    End Function

    Na consulta
    SELECT * FROM PP WHERE F6 Between VinteDiasUteisAntes() and TresDiasUteisAntes();


    .................................................................................
    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
    avatar
    werlewow
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 149
    Registrado : 09/10/2017

    [Resolvido]Contar dias uteis - ajuda simples Empty Re: [Resolvido]Contar dias uteis - ajuda simples

    Mensagem  werlewow em 16/4/2019, 19:57

    Obrigado, funcionou certinho !

      Data/hora atual: 24/10/2020, 00:49