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]Condicionar vencimento a data de emissão de um documento

    Compartilhe

    jowfs
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 16/04/2012

    [Resolvido]Condicionar vencimento a data de emissão de um documento

    Mensagem  jowfs em 24/5/2018, 13:09

    Olá, bom dia!

    Estou montando um BD para controle de pagamentos e gostaria de automatizar o vencimento de um documento com base na data de emissão, até aí, ok. O problema é que a empresa para a qual estou criando somente realiza pagamentos às quartas-feiras. Pensei em criar uma tabela com vencimentos (considerando datas que caiam apenas às quartas-feiras e usar a função "DMin" para chamar a menor data que apareça, considerando o prazo mínimo de 12 dias, porém, não estou conseguindo montar o critério de pesquisa. Podem me ajudar?

    Código:
    Me.PagamentoDocumentoVencimento = DMin("[Vencimento]", "TabVencimentos", >Date + 12)

    Lembro que independente da data de recebimento do documento, a empresa somente pagará às quartas-feiras, considerando o prazo mínimo de 12 dias.
    Se alguém tiver uma ideia melhor para solução desse caso, será bem vinda.

    Desde já agradeço!

    Ricardo Monteiro
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 46
    Registrado : 27/11/2017

    Re: [Resolvido]Condicionar vencimento a data de emissão de um documento

    Mensagem  Ricardo Monteiro em 25/5/2018, 16:17

    Em vez de fazer tudo isso, use a função DiaSemana( data ,[primeirodiadasemana] ) para testar qual dia da semana deu.
    1 = Primeiro dia da semana é domingo. A função retorna um número inteiro que corresponde a um dia da semana (1=dom, 2=seg, 3=ter, 4=qua, 5=qui, 6=sex, 7=sab)
    Código:

    Me.PagamentoDocumentoVencimento = DiaSemana(date+12, 1)
    If Me.PagamentoDocumentoVencimento = 1 then
        Me.PagamentoDocumentoVencimento = date + 15
    Elseif Me.PagamentoDocumentoVencimento = 2 then
        Me.PagamentoDocumentoVencimento = date + 14
    Elseif Me.PagamentoDocumentoVencimento = 3 then
        Me.PagamentoDocumentoVencimento = date + 13
    Elseif Me.PagamentoDocumentoVencimento = 4 then
        Me.PagamentoDocumentoVencimento = date + 12
    Elseif Me.PagamentoDocumentoVencimento = 5 then
        Me.PagamentoDocumentoVencimento = date + 18
    Elseif Me.PagamentoDocumentoVencimento = 6 then
        Me.PagamentoDocumentoVencimento = date + 17
    Elseif Me.PagamentoDocumentoVencimento = 7 then
        Me.PagamentoDocumentoVencimento = date + 16
    End if

    jowfs
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 16/04/2012

    Re: [Resolvido]Condicionar vencimento a data de emissão de um documento

    Mensagem  jowfs em 25/5/2018, 19:49

    akk_pain. Obrigado pela ajuda.

    Apenas fiz um ajuste para adequar a minha necessidade (Data de emissão) e utilização da função em inglês por exigência do VBA.

    Código:
        Me.PagamentoDocumentoVencimento = Weekday([PagamentoDocumentoEmissaoData] + 12, 1)
        If Me.PagamentoDocumentoVencimento = 1 Then
        Me.PagamentoDocumentoVencimento = PagamentoDocumentoEmissaoData + 15
        ElseIf Me.PagamentoDocumentoVencimento = 2 Then
        Me.PagamentoDocumentoVencimento = PagamentoDocumentoEmissaoData + 14
        ElseIf Me.PagamentoDocumentoVencimento = 3 Then
        Me.PagamentoDocumentoVencimento = PagamentoDocumentoEmissaoData + 13
        ElseIf Me.PagamentoDocumentoVencimento = 4 Then
        Me.PagamentoDocumentoVencimento = PagamentoDocumentoEmissaoData + 12
        ElseIf Me.PagamentoDocumentoVencimento = 5 Then
        Me.PagamentoDocumentoVencimento = PagamentoDocumentoEmissaoData + 18
        ElseIf Me.PagamentoDocumentoVencimento = 6 Then
        Me.PagamentoDocumentoVencimento = PagamentoDocumentoEmissaoData + 17
        ElseIf Me.PagamentoDocumentoVencimento = 7 Then
        Me.PagamentoDocumentoVencimento = PagamentoDocumentoEmissaoData + 16
        End If

      Data/hora atual: 19/11/2018, 03:38