MaximoAccess

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

Obrigado

Administração do MaximoAccess

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


    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 11/12/2012, 20:11

    Boa noite, tenho um bd que faz cálculo utilizando a data inicial + o prazo(em dias) e calcula a data Final, excluídos os feriadosFixo e FeriadosMóveis. Até aqui tudo bem.

    Contudo, gostaria que fosse introduzida uma nova tabela com os Recesso de Final de Ano e que o sistema (dentro do período natalino não contasse esses dias, tipo do dia 20/12/2012 a 06/01/2013). Exemplo:

    DataInicial = 10/12/2012

    Prazo= 30 dias ***(contar somente até dia 20/12/2012) = no caso 10 dias

    Depois inicial a contagem no dia 07/01/2013 + 20 dias = 27/01/2013 [Seria dataFinal]

    Segue meu BD
    avatar
    lucianobatista2013
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 13/07/2012

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  lucianobatista2013 em 11/12/2012, 20:27

    Você cria a tabela e faz um relacionamento entre as datas. Aí clica na linha do relacionamento e opta por exibir todas as datas da tabela1 e na tabela 2 somente as datas correspondentes. Depois filtra as data da tabela dois com o isnull() ou é vazio, coisa assim.

    Aprendi isso no manual do access
    http://produto.mercadolivre.com.br/MLB-453866009-disque-pizza-levi-dominando-o-access-em-um-dia-_JM
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 11/12/2012, 20:33

    poderia mandar um exemplo
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 12/12/2012, 14:02

    Não conseguir resolver, estou encaminhando o arquivo, será que alguém pode aguardar?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 12/12/2012, 16:13

    Boa tarde, GContabil
    Explique a utilização da bd de forma a verificar o funcionamento que pretende


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 12/12/2012, 19:56

    Alexandre, A finalidade é calculo os prazos de citação, intimação e sentença. Logo após a escolha da DataInicial + prazo = DataFinal.

    Só que para chegar a DataFinal, o sistema dever levar em consideração os feriados cadastros e o Recesso do Final de Ano.
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 14/12/2012, 19:53

    Será que alguns do ferras em visual basic pode mim ajudar...
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 14/12/2012, 20:01

    Boa noite,
    Abri a bd e não entendi o quer que funcione


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Alexandre

    Mensagem  GCONTABIL em 15/12/2012, 15:50

    Não estou conseguindo inserir uma instrução para calcular a DataFinal do prazo, ou seja,

    Tenha uma tabela de recesso deve ser passada para o formulário da seguinte forma:

    DataInicial= 14/12/2012 Período de recesso= 20/12/2012 à 06/01/2013

    Prazo= 10 (dias)

    [A função deve inicialmente contar os dias 14, 15, 16, 17, 18, 19 = contados 6 dias] depois para de contar e somente retorna a contar dia 07/01/2013....

    ou seja 07, 08, 09, 10 = [contados 4 dias] totalizando o prazo de 10 dias, então a DataFinal seria neste dia (10/01/2013).

    DataFinal = 10/01/2013

    Poderia criar uma função que fizesse este cálculo para mim.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 15/12/2012, 17:40

    Boa tarde, Contabil
    Vejo a tabela tb_Prazo_Processuais com Dt_Inicial, Dt_Final e Prazo
    Vejo tabela tabRecesso com InicioRecesso e FinalRecesso
    Quer que o campo Dt_Final da tabela tb_Prazo_Processuais seja preenchida a partir da Dt_Inicil mais os dias indicados em Prazo, descontados os períodos de recesso aplicáveis?


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Alexandre

    Mensagem  GCONTABIL em 15/12/2012, 19:36

    Quer que o campo Dt_Final da tabela tb_Prazo_Processuais seja preenchida a partir da Dt_Inicil mais os dias indicados em Prazo, descontados os períodos de recesso aplicáveis?

    É isso mesmo Alexandre, mais além de descontar os períodos de recesso, tem de descontar os FeriadosFixos e FeriadosMóveis.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 16/12/2012, 09:16

    Bom dia,
    Veja aqui
    substituí campos Dia e Mês, da tabela tabFeriadosFixos, por campo DiaMes
    execute o procedimento ActualizaTabelaTbPrazoProcessuais


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 16/12/2012, 19:05

    Alexandre

    Executei o código execute o procedimento ActualizaTabelaTbPrazoProcessuais através de um macro, mas não faz nada.

    também executei através de ao click()

    Call ActualizaTabelaTbPrazoProcessuais

    também não funcionou. Você testou ai e funcionou??
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 16/12/2012, 19:07

    Sim, testei
    Criei um registo na tabela de recesso
    Se não funcionar, mande com os dados que não funcionam.


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 16/12/2012, 19:43

    Alexandre, muito obrigado pela ajuda.

    Conseguir calcular as datas com determinado no seu código. Contudo, quando a DataFinal cair em um final de semana, FeriadoFixo, FeriadoMóvel ou Recesso a data deve ir para o outro dia útil. ou seja a DataFinal será sempre um dia útil.


    Será que tem como fazer isso no seu código??
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 16/12/2012, 19:45

    Alexandre, encontrei esta função mais não sei com utilizar no meu BD


    Function DiaUtil(InformeData) As Integer
    DiaUtil = False

    ' Procura por Sábado ou Domingo.
    If WeekDay(InformeData) = 1 Or WeekDay(InformeData) = 7 Then
    DiaUtil = False
    ' Procura por Feriados cadastrados na tabela tabFeriados.
    ElseIf IsNull(DLookup("Feriado", "tabFeriados", "[Feriado] = #" _
    & InformeData & "#")) Then
    DiaUtil = True
    End If

    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 16/12/2012, 19:50

    E durante a contagem dos dias, o fim-de-semana conta?


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 16/12/2012, 19:54

    Alexandre conta os finais de semana, só não contar os recessos.
    avatar
    lucianobatista2013
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 13/07/2012

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty CONSEGUIU RESOLVER A QUESTÃO DAS DATAS?

    Mensagem  lucianobatista2013 em 17/12/2012, 22:23

    Você conseguiu resolver a questão das datas?
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 17/12/2012, 23:02

    Alexandre será que assim o código fica corrento:

    Public Sub ActualizaTabelaTbPrazoProcessuais()
    CurrentDb.Execute "UPDATE tb_Prazo_Processuais SET Dt_Final= ProximaDataUtil(Dt_Inicial,Prazo);"
    End Sub
    Function ProximaDataUtil(dtDataInicial As Date, intDias As Integer) As Date
    'criada por Alexandre Neves
    'em 2012-12-16
    'para GContabil
    'do fórum MaximoAccess
    Dim I As Integer, RstFeriadosFixos As DAO.Recordset, RstFeriadosMoveis As DAO.Recordset, RstRecesso As DAO.Recordset
    Set RstFeriadosFixos = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosFixos")
    Set RstFeriadosMoveis = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosMóveis")
    Set RstRecesso = CurrentDb.OpenRecordset("SELECT * FROM tabRecesso")

    For I = 1 To intDias
    RstFeriadosFixos.MoveFirst: RstFeriadosMoveis.MoveFirst: RstRecesso.MoveFirst
    RstFeriadosFixos.FindFirst "DiaMes='" & Format(dtDataInicial, "d-m") & "'"
    If RstFeriadosFixos.NoMatch Then
    RstFeriadosMoveis.FindFirst "Feriado=" & dtDataInicial
    If RstFeriadosMoveis.NoMatch Then
    RstRecesso.FindFirst "InicioRecesso<=#" & Format(dtDataInicial, "m-d-yyyy") & "# and FinalRecesso>=#" & Format(dtDataInicial, "m-d-yyyy") & "#"
    If Not RstRecesso.NoMatch Then
    I = I - 1
    End If
    Else
    I = I - 1
    End If
    Else
    I = I - 1
    End If
    dtDataInicial = DateAdd("d", 1, dtDataInicial)

    Next

    ' ProximaDataUtil = dtDataInicial


    ' Procura por Sábado ou Domingo.
    If WeekDay(dtDataInicial) = 1 Or WeekDay(dtDataInicial) = 7 Then


    ProximaDataUtil = dtDataInicial + 2


    End If

    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 18/12/2012, 17:21

    Boa tarde,
    Teste com datas passíveis de cair em fim-de-semana e confira o funcionamento


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Retirar do cálculo os finais de semana

    Mensagem  GCONTABIL em 26/12/2012, 03:50

    Estou precisar realizar um cálculo com este código, contudo, a ProximaDataUtil não pode cair em final de semana, dever sempre em um dia útil alguém sabe como fazer isso???


    Public Sub ActualizaTabelaTbPrazoProcessuais()
    CurrentDb.Execute "UPDATE tb_Prazo_Processuais SET Dt_Final= ProximaDataUtil(Dt_Inicial,Prazo);"
    End Sub
    Function ProximaDataUtil(dtDataInicial As Date, intDias As Integer) As Date
    'criada por Alexandre Neves
    'em 2012-12-16
    'para GContabil
    'do fórum MaximoAccess
    Dim I As Integer, RstFeriadosFixos As DAO.Recordset, RstFeriadosMoveis As DAO.Recordset, RstRecesso As DAO.Recordset
    Set RstFeriadosFixos = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosFixos")
    Set RstFeriadosMoveis = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosMóveis")
    Set RstRecesso = CurrentDb.OpenRecordset("SELECT * FROM tabRecesso")

    For I = 1 To intDias
    RstFeriadosFixos.MoveFirst: RstFeriadosMoveis.MoveFirst: RstRecesso.MoveFirst
    RstFeriadosFixos.FindFirst "DiaMes='" & Format(dtDataInicial, "d-m") & "'"
    If RstFeriadosFixos.NoMatch Then
    RstFeriadosMoveis.FindFirst "Feriado=" & dtDataInicial
    If RstFeriadosMoveis.NoMatch Then
    RstRecesso.FindFirst "InicioRecesso<=#" & Format(dtDataInicial, "m-d-yyyy") & "# and FinalRecesso>=#" & Format(dtDataInicial, "m-d-yyyy") & "#"
    If Not RstRecesso.NoMatch Then
    I = I - 1
    End If
    Else
    I = I - 1
    End If
    Else
    I = I - 1
    End If
    dtDataInicial = DateAdd("d", 1, dtDataInicial)

    Next

    ' ProximaDataUtil = dtDataInicial


    ' Procura por Sábado ou Domingo.
    If WeekDay(dtDataInicial) = 1 Or WeekDay(dtDataInicial) = 7 Then


    ProximaDataUtil = dtDataInicial + 2


    End If

    End Function
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  HARYSOHN em 26/12/2012, 07:42

    Envia a parte do BD para que possamos ver Colega.

    Cumprimentos.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 26/12/2012, 14:40

    Tópicos fundidos por se tratar do assunto ainda não resolvido


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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 26/12/2012, 15:07

    Boa tarde, colegas, resolvi com dessa maneira, mas na hora de carregar estar muito lento, teria outra forma de carregar o calculo mais rapido???

    Public Sub ActualizaTabelaTbPrazoProcessuais()
    CurrentDb.Execute "UPDATE tb_Prazo_Processuais SET Dt_Final=ProximaDataUtil(Dt_Inicial,Prazo);"
    End Sub
    Function ProximaDataUtil(dtDataInicial As Date, intDias As Integer) As Date
    'criada por Alexandre Neves
    'em 2012-12-16
    'para GContabil
    'do fórum MaximoAccess
    Dim I As Integer, RstFeriadosFixos As DAO.Recordset, RstFeriadosMoveis As DAO.Recordset, RstRecesso As DAO.Recordset
    Set RstFeriadosFixos = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosFixos")
    Set RstFeriadosMoveis = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosMóveis")
    Set RstRecesso = CurrentDb.OpenRecordset("SELECT * FROM tabRecesso")

    For I = 1 To intDias
    RstFeriadosFixos.MoveFirst: RstFeriadosMoveis.MoveFirst: RstRecesso.MoveFirst
    RstFeriadosFixos.FindFirst "DiaMes='" & Format(dtDataInicial, "d-m") & "'"
    If RstFeriadosFixos.NoMatch Then
    RstFeriadosMoveis.FindFirst "Feriado=" & dtDataInicial
    If RstFeriadosMoveis.NoMatch Then
    RstRecesso.FindFirst "InicioRecesso<=#" & Format(dtDataInicial, "m-d-yyyy") & "# and FinalRecesso>=#" & Format(dtDataInicial, "m-d-yyyy") & "#"
    If Not RstRecesso.NoMatch Then
    I = I - 1
    End If
    Else
    I = I - 1
    End If
    Else
    I = I - 1
    End If
    dtDataInicial = DateAdd("d", 1, dtDataInicial)



    Next
    'realizado por GCONTABIL em 26/01/2012
    If Weekday(dtDataInicial) = 7 Then 'verificar se é sábado
    dtDataInicial = DateAdd("d", 2, dtDataInicial) 'sendo sábado adicionar 2 dias
    ElseIf Weekday(dtDataInicial) = 1 Then 'verificar se é domingo
    dtDataInicial = DateAdd("d", 1, dtDataInicial) ' sendo domingo adicionar 1 dia
    End If

    ProximaDataUtil = dtDataInicial


    End Function
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Alexandre Neves em 26/12/2012, 15:31

    Olá, GContabil
    Não vejo onde possa abreviar o cálculo, mas estará a falhar o cálculo caso a segunda-feira seguinte seja feriado ou recesso.
    Veja se atende com este código
    Option Compare Database
    Option Explicit

    Sub ActualizaTabelaTbPrazoProcessuais()
    CurrentDb.Execute "UPDATE tb_Prazo_Processuais SET Dt_Final=ProximaDataUtil(Dt_Inicial,Prazo);"
    End Sub
    Function ProximaDataUtil(dtDataInicial As Date, intDias As Integer) As Date
    'criada por Alexandre Neves
    'em 2012-12-26
    'para GContabil
    'do fórum MaximoAccess
    Dim I As Integer
    For I = 1 To intDias
    If DiaFeriadoRecesso(dtDataInicial) Then I = I - 1
    dtDataInicial = DateAdd("d", 1, dtDataInicial)
    Next

    Do While DiaFeriadoRecesso(dtDataInicial) And (Weekday(dtDataInicial) = 1 Or Weekday(dtDataInicial) = 7)
    dtDataInicial = DateAdd("d", 1, dtDataInicial)
    Loop
    ProximaDataUtil = dtDataInicial
    End Function

    Function DiaFeriadoRecesso(dtData As Date) As Boolean
    Dim RstFeriadosFixos As DAO.Recordset, RstFeriadosMoveis As DAO.Recordset, RstRecesso As DAO.Recordset
    Set RstFeriadosFixos = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosFixos")
    Set RstFeriadosMoveis = CurrentDb.OpenRecordset("SELECT * FROM tabFeriadosMóveis")
    Set RstRecesso = CurrentDb.OpenRecordset("SELECT * FROM tabRecesso")
    RstFeriadosFixos.FindFirst "DiaMes='" & Format(dtData, "d-m") & "'"
    If RstFeriadosFixos.NoMatch Then
    RstFeriadosMoveis.FindFirst "Feriado=" & dtData
    If RstFeriadosMoveis.NoMatch Then
    RstRecesso.FindFirst "InicioRecesso<=#" & Format(dtData, "m-d-yyyy") & "# and FinalRecesso>=#" & Format(dtData, "m-d-yyyy") & "#"
    If RstRecesso.NoMatch Then
    DiaFeriadoRecesso = False
    Else
    DiaFeriadoRecesso = True
    End If
    Else
    DiaFeriadoRecesso = True
    End If
    Else
    DiaFeriadoRecesso = True
    End If
    End Function


    .................................................................................
    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
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  HARYSOHN em 26/12/2012, 16:25

    Boas Gcontábil, recebeste MP que te enviei dias atrás?

    Cumprimentos.
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 26/12/2012, 23:08

    Piloto, não sei o que é MP, não recordo de ter recebido este MP, estou postado o BD.

    O problema é para calcular a Dt_Final, o BD estar demorando muito, não sei se o problema é o código, uma vez que o Alexandre realizou a tarefa mais difícil e eu simplesmente conseguir coloque o código do final de semana.
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  HARYSOHN em 27/12/2012, 00:32

    MP é uma mensagem privada.. no menu do Fórum la acima:

    Iniciio - Calendário - Buscar - Membros - Pefil >>> Mensagens <<<< Sair

    Recebeu uma que te enviei?

    Saudações.
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 27/12/2012, 10:58

    Recebi a mensagem, já respondi.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 11:22

    Olá!

    Quanto ao desempenho, responda:

    Quantos registro retornam o seu formulário?
    Está utilizando o aplicativo em REDE ?

    Piloto, por que oferecer ao rapaz um solução "escondida". Tem muito gente interessada no assunto, inclusive eu. Poderia anexar seu exemplo ao tópico ?

    No aguardo
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 11:30

    Tem contagem estranha da sua parte, veja

    Se data Incial for 17/12/2012 com prazo de 1 dia. Qual seria a data final ?


    No aguardo

    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 11:48

    Veja o que entendo:

    DataInicial= 14/12/2012 Período de recesso= 20/12/2012 à 06/01/2013

    Prazo= 15 (dias)

    15(sábado), 16(domingo), 17, 18, 19 = contados 3 dias úteis. Depois para de contar e somente retorna a contar dia 07/01/2013....

    ou seja 07, 08, 09, 10, 11, 12(sábado), 13(domingo), 14, 15, 16, 17, 18, 19(sábado), 20(domingo), 21, 22 então a DataFinal seria neste dia (22/01/2013), descontando 3 sábados e 3 dómingos.

    DataFinal = 22/01/2013

    Confirme

    Aguardamos
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 27/12/2012, 13:05

    [DataInicial= 14/12/2012 Período de recesso= 20/12/2012 à 06/01/2013

    Prazo= 15 (dias)

    15(sábado), 16(domingo), 17, 18, 19 = contados 3 dias úteis. Depois para de contar e somente retorna a contar dia 07/01/2013....

    ou seja 07, 08, 09, 10, 11, 12(sábado), 13(domingo), 14, 15, 16, 17, 18, 19(sábado), 20(domingo), 21, 22 então a DataFinal seria neste dia (22/01/2013), descontando 3 sábados e 3 dómingos.

    DataFinal = 22/01/2013 ]

    Com o exemplo acima o sistema é para contar desta forma, veja:

    15(sábado), 16(domingo), 17, 18, 19 = contados 5 dias direto. Depois para de contar e somente retorna a contar dia 07/01/2013 (Ok)

    = 5 dias - 15 dias = 10 dias restante para contar depois do período de recesso.

    ou seja 07, 08, 09, 10, 11, 12(sábado), 13(domingo), 14, 15, 16, então a DataFinal seria neste dia (16/01/2013).

    Agora caso o dia 16/01/2013, fosse um final de semana ou feriado a DataFinal iria para o primeiro dia útil seguinte.

    O sistema já estar calculando dessa forma, só que é muito lendo quando coloco no sistema devida trabalhar com tabela vinculada e ter bastante dados na tb_Prazo_Processuais???

    Gostaria que melhorasse a performance???



    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 13:15

    supondo que dia 15 nesta sequencia fosse feriado

    ou seja 07, 08, 09, 10, 11, 12(sábado), 13(domingo), 14, 15, 16,

    Teria que levar em consideração? manteria o dia 16 como resultado final, ou seja só irá analisar se é feriado ou final de semana para o ultimo dia do calculo ?

    aguardamos
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 13:59

    ou seja 07, 08, 09, 10, 11, 12(sábado), 13(domingo), 14, 15, 16,


    Este minha pergunta acima é fundamental sabermos, pois dependendo irá alterar significativamente a programação proposta.

    Então, dia 15 sendo feriado, alteraria a data final do dia 16/01 neste cálculo exemplo?


    Última edição por Avelino Sampaio em 27/12/2012, 14:00, editado 1 vez(es)
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 27/12/2012, 14:00

    Avelino é isso mesmo se o dia 15 (feriado, constante da tabFeriado_Fixos ou Móveis), a DataFinal seria o mesmo dia 16/01/2013.

    Agora se dia 16/01/2013 (for feriado) a DataFinal seria 17/01/2013.


    .................................................................................
    Gilson Batista de Oliveira
    www.gcontabil.com.br
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 14:23

    Isso muda toda a forma de cálculo proposto, pois o feriado e/ou finais de semana deverão ser avaliados apenas para a ultima data.

    Vou alterar aqui e já lhe mando uma solução alteranativa, levando em consideração o desempenho.

    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 27/12/2012, 15:04

    Fico no aguardo Avelino, desde já muito obrigado.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 16:33

    Segue as modificações. Teste com várias datas, ok.

    Informe sobre o desempenho.

    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  HARYSOHN em 27/12/2012, 16:51

    Boa tarde a todos....

    Amigo avelino... A MP não tem nada haver com a solução... é um assunto particular entre mim e o colega. Não utilizo MP's ou E-mail para soluções visto que tudo que aprendi foi aqui no fórum, nada mais justo que todas meus auxílios sejam públicos.

    Ao contrário, recebo várias MP's com pedido de auxilio e exorto os usuário a criar um tópico e me disponho a ir lá ajudá-lo.

    Apenas aproveitei que pedi para que postasse o BD para que vissemos e no ensejo lhe perguntei se havia recebido minha MP que é sobre assunto particular.


    Abraços.
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  HARYSOHN em 27/12/2012, 17:10

    A propósito Mestre Avelino.. Não entendi se havia me solicitado a minha solução...


    Nem cheguei a tentar algo... Estou interessado no tópico apenas e estou acompanhado vossas soluções, Não há porque eu fazer sendo que dois grandes Mestres estão aqui... Sou apenas vosso discípulo.

    Abraços e estou aqui acompanhando.
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 27/12/2012, 17:39

    Boa tarde,

    Gostaria de agradecer imensamente aos colegas do Fórum, em especial aos colegas Avelino Sampaio (este já o conheço de seu site, onde já comprei alguns de seus estudos) e ao colega Alexandre Neves que iniciou este código pela valiosa ajuda.

    Esta última função criada pelo Avelino Sampaio, funcionou perfeitamente, resolvi todos os meus problemas, inclusive a lentidão quando usava em rede de computadores, com tabelas vinculadas.

    Mesmos sinceros agradecimentos a Avelino que transformou a função era exatamente isso que estava requerendo, agora posso realizar o cálculo da DataFinal dos Prazos nos Processos Judiciais que trabalho diariamente, com esta função e possível saber exatamente a data final do prazo levado em consideração dos fundamentos legais (Código e Leis).

    Assim, ficará mais fácil certificar, quando decorreu um prazo em um processo cadastrado, sem ter que contar no calendário e ainda lembrar se naquele dia foi ou não feriado (seja Nacional, Estadual ou Municipal) ou mesmo se houve o fechamento do Fórum (por determinação legal) ou se estava no período de Recessoar .

    Lembro ao colega PILOTO que com este código ele poderá utilizar em seu futuro aplicativo para advogados, pois o cálculo feito nesta função serve para qualquer pessoa, inclusive advogados, para não perderem os seus prazos (cada vez mais curtos) e depois ter de explicar para o seu cliente.

    Finalmente, gostaria de agradecer mais uma vez e desejar a todos um Feliz Ano Novo com muita paz, saúde e amor.

    Parabéns pelo ótimo trabalho realizado aqui neste fórum e coloco-me a disposição para algum esclarecimento que desejarem... Obrigado Avelino Sampaio!
    GCONTABIL
    GCONTABIL
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 137
    Registrado : 17/12/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  GCONTABIL em 27/12/2012, 17:40

    Obrigado
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

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

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Avelino Sampaio em 27/12/2012, 17:58

    Grato pelo feedback e sucesso!
    HARYSOHN
    HARYSOHN
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12227
    Registrado : 01/03/2011

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  HARYSOHN em 27/12/2012, 18:17

    Obrigado amigo, e qualquer novidade que va fazer ou desenvolver nesta área, creio que todos em especial a mim, pois logo estarei atuando na área, irá interessar..

    Avelino, a minha MP era somente sobre o assunto mesmo visto que tenho faculdade de direito e me interessei, enviando MP a colega para saber se o mesmo estava desenvolvendo um aplicativo para advogados o quel me interesso.

    Cumprimentos.
    avatar
    diegoamaral91
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 20/08/2015

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  diegoamaral91 em 27/12/2019, 16:39

    Olá, boa tarde!

    Me deparei com o mesmo problema do amigo que abriu o tópico, porém em outro setor.
    Gostaria de saber como encontro a base com o modelo?

    Não encontrei nenhuma opção no tópico, seria extremamente útil pra mim.

    Obrigado. Very Happy
    annissima
    annissima
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 68
    Registrado : 24/10/2017

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Também gostaria do modelo

    Mensagem  annissima em 9/2/2020, 20:17

    Gente, será que podem compartilhar isso conosco? Também preciso contar prazos e estou buscando exatamente a mesma solução!

    Conteúdo patrocinado

    [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso Empty Re: [Resolvido]Cálculo de Prazo com dias úteis, feriados e recesso

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 7/4/2020, 07:51