MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Dias úteis após data de inicio com feriados

    Compartilhe

    Sérgio Fortunato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7
    Registrado : 30/04/2015

    [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  Sérgio Fortunato em Qui 07 Maio 2015, 10:13

    Bom dia

    Necessito uma vez mais de ajuda na resolução deste código.
    Este ficheiro de access estava como o 2000 e reconverti para 2007, a função deu erro no código: rs_fer.FindFirst "[FerData] = #" & Format(DataFinal, "mm/dd/yy") & "#"

    Dim DataFinal As Date
    Dim Dias, Semana As Integer
    Dim db As Database
    Dim rs_fer As Recordset

    Set db = CurrentDb
    Set rs_fer = db.OpenRecordset("tblFeriados", dbOpenDynaset)

    Dias = 0
    DataFinal = DataInicial

    While Dias < QtdDiasUteis
    DataFinal = DataFinal + 1
    Semana = Weekday(DataFinal)
    If Semana <> 1 And Semana <> 7 Then ' 1=Domingo 7=Sábado


    rs_fer.FindFirst "[FerData] = #" & Format(DataFinal, "mm/dd/yy") & "#"
    If rs_fer.NoMatch Then



    Dias = Dias + 1
    End If
    End If
    Wend

    DataUtil = DataFinal

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  Assis em Qui 07 Maio 2015, 10:53

    Bom dia
    Teste asim
    rs_fer.FindFirst "[FerData] = #" & Format(DataFinal, "dd/mm/yyyy") & "#"


    .................................................................................
    *** Só sei que nada sei ***

    Sérgio Fortunato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7
    Registrado : 30/04/2015

    Re: [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  Sérgio Fortunato em Qui 07 Maio 2015, 12:59

    Continua a dar erro.

    "Method or data not found"

    ÓscarSantos
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 327
    Registrado : 18/09/2013

    Re: [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  ÓscarSantos em Qui 07 Maio 2015, 13:03

    tenta esta função cortesia do nosso amigo Jpaulo

    Public Function DiasUteis(dtInicio As Date, dtFim As Date) As Long
    'By JPaulo ® Maximo Access
    'Total de Dias entre duas datas sem fins de semana
    Dim TotalDiasActuais As Long, TotalDiasTrab As Long
    Dim strIniciaContagem As Long

    DoCmd.Hourglass (-1)
    strIniciaContagem = -2
    TotalDiasActuais = (dtFim - dtInicio) + 1

    Do
    If Weekday(dtInicio) = 7 Or Weekday(dtInicio) = 1 Then
    strIniciaContagem = strIniciaContagem + 1
    End If

    dtInicio = dtInicio + 1

    Loop Until dtInicio = dtFim + 1

    TotalDiasTrab = TotalDiasActuais - strIniciaContagem
    DoCmd.Hourglass (0)
    DiasUteis = TotalDiasTrab
    Exit Function
    End Function


    Abraço


    .................................................................................
    _________________________________________________________
    sempre a aprender
    para enviar ou postar só access2003 infelizmente é o que tenho no trabalho [Você precisa estar registrado e conectado para ver esta imagem.] .
    para dar tópio como resolvido [Você precisa estar registrado e conectado para ver este link.]

    Sérgio Fortunato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7
    Registrado : 30/04/2015

    Re: [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  Sérgio Fortunato em Qui 07 Maio 2015, 13:56

    O problema é que tenho uma data de inicio e preciso que me devolva a data de fim, após 12 dia úteis (indo buscar os feriados a uma tabela).

    Public Function DataUtil(DataInicial As Date, QtdDiasUteis As Integer) As Date

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  Avelino Sampaio em Qui 07 Maio 2015, 14:21

    Olá!

    Veja se este meu artigo te ajuda:

    [Você precisa estar registrado e conectado para ver este link.]

    Bom estudo!


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Sérgio Fortunato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7
    Registrado : 30/04/2015

    Re: [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  Sérgio Fortunato em Sex 08 Maio 2015, 10:14

    Agradeço a vossa ajuda, mas já encontrei um código que me resolve o que eu queria, mantendo a tabela de feriados.


    Public Function DiasUteisComNumero(dtInicio As Date, NumDias As Integer) As Date
    '---------------------------------------------------------------------------------------
    ' Procedimento : DiasUteisComNumero
    ' Data e Hora : 22/08/07 18:47
    ' Autor : Osmar José Correia Júnior
    ' O que faz : Devolve um dia útil a partir de uma data inicial fornecido um número de dias
    '
    ' Entradas : dtInicio - Data inicial
    ' : NumDias - Número de dias úteis a serem acrescentados
    '
    ' Saída : Data
    '
    ' Utilize à vontade mas não altere este cabeçalho.
    ' Valorize quem o ajuda.
    '---------------------------------------------------------------------------------------

    On Error GoTo Erro_DiasUteisComNumero

    Dim dtTrab As Date
    Dim DB As DAO.Database
    Dim rst As DAO.Recordset

    Set DB = CurrentDb
    Set rst = DB.OpenRecordset("SELECT [FerData] FROM tblFeriados", dbOpenSnapshot)

    dtTrab = DateAdd("d", NumDias, dtInicio)

    Do While dtInicio <= dtTrab
    If Weekday(dtInicio) = vbSunday Or Weekday(dtInicio) = vbSaturday Then
    dtTrab = dtTrab + 1
    Else
    rst.FindFirst "[FerData] = #" & Format(dtInicio, "mm/dd/yyyy") & "#"
    If Not rst.NoMatch Then dtTrab = dtTrab + 1
    End If
    dtInicio = dtInicio + 1
    Loop
    DiasUteisComNumero = dtTrab
    Saida:
    Exit Function
    Erro_DiasUteisComNumero:
    MsgBox Err.Description & vbCrLf & vbCrLf & "No módulo fDUteis, tipo Módulo, procedimento DiasUteisComNumero", _
    vbExclamation + vbOKOnly, "Erro: " & CStr(Err.Number)
    Resume Saida
    End Function

    Sérgio Fortunato
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7
    Registrado : 30/04/2015

    Re: [Resolvido]Dias úteis após data de inicio com feriados

    Mensagem  Sérgio Fortunato em Sex 08 Maio 2015, 10:17

    Obrigado

      Data/hora atual: Dom 04 Dez 2016, 01:52