MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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]Código para autonumeração

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Código para autonumeração Empty [Resolvido]Código para autonumeração

    Mensagem  OLDRIVG 14/6/2019, 17:08

    Prezados do Forum, boa tarde.

    Estou tentando implementar o código abaixo (e que funciona), disponibilizado pelo mestre JPaulo, aqui do forum, mas não está funcionando após as adaptações. O código original é o seguinte (ressalvado o nome do campo e tabela):

    Public Function NumeracaoAno() As String
    'By JPaulo@2009
    Dim fazcodigo(1) As Integer, temporario As Integer

    fazcodigo(1) = Nz(DMax("Left(NumeroVisitante,3)", "tbl_Geral", "Right(NumeroVisitante,4)=Year(Date())"), 0)

       For I = 1 To UBound(fazcodigo)
           If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
       Next

    NumeracaoAno = Format(temporario + 1, "000") & "/" & year(Date)

    End Function


    que retorna uma numeração de formato xxx/2019.

    Fiz umas adaptações no código para retornar uma auto numeração de formato xxxx/mm/yyyy, e após as adaptações o código ficou como a seguir:

    Public Function NumeracaoAno() As String
    'By JPaulo@2009
    Dim fazcodigo(1) As Integer, temporario As Integer

    fazcodigo(1) = Nz(DMax("Left(NumeroVisitante,4)", "tbl_Geral", "Right(Numerovisitante,4)=month(Date())"), 0)

       For I = 1 To UBound(fazcodigo)
           If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
       Next

    NumeracaoAno = Format(temporario + 1, "0000") & "/" & "0" & Month(Date) & "/" & Year(Date)
    End Function


    porém não está funcionando a contento, pois não faz a contagem. Quando cria um registro a numeração não sai do número 0001.

    O código está implementado no evento Ao Abrir do formulário e, na propriedade Valor Padrão do campo "NumeroVisitante"  está =NumeracaoAno().

    Caso alguém tenha alguma sugestão para solucionar o erro, ficarei grato se compartilhar.
    Agradecido
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Código para autonumeração Empty Re: [Resolvido]Código para autonumeração

    Mensagem  Alexandre Neves 14/6/2019, 21:54

    Boa noite,
    Deverá ser
    Código:
    Public Function NumeracaoAno() As String
    'By JPaulo@2009
    'adaptado por Alexandre Neves para formato xxxx/mm/yyyy
    Dim fazcodigo(1) As Integer, temporario As Integer

    fazcodigo(1) = Nz(DMax("Left(NumeroVisitante,4)", "tbl_Geral", "Right(NumeroVisitante,7)=Format(Date(),'mm/yyyy')"), 0)

      For I = 1 To UBound(fazcodigo)
          If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
      Next

    NumeracaoAno = Format(temporario + 1, "0000")  & "/" & Format(Month(Date),"00") & "/" & year(Date)

    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
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 373
    Registrado : 20/07/2010

    [Resolvido]Código para autonumeração Empty Re: [Resolvido]Código para autonumeração

    Mensagem  OLDRIVG 17/6/2019, 11:31

    Prezado Alexandre Neves, bom dia.

    Agradeço-lhe pela a atenção e ajuda.

    Funcionou perfeitamente.

    Obrigado

      Data/hora atual: 25/7/2021, 03:51