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


2 participantes

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos

    Predestined
    Predestined
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 13/08/2014

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos

    Mensagem  Predestined 28/9/2014, 19:05

    Prezados,

    ao pesquisar no fórum, percebi que este assunto já foi exaustivamente tratado, mas infelizmente não localizei exemplos que atendam a minha necessidade atual. Por favor, poderiam me ajudar? Very Happy

    Estou tentando gerar numeração automática neste formato NNNNN/AA que será armazenado em um campo TXT da tabela. Os exemplos do fórum são excelentes, mas geram ano com 4 dígitos (se já existir exemplo neste formato, queiram perdoar)


    Antecipadamente grato
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7914
    Registrado : 15/03/2013

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty Re: [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos

    Mensagem  Alvaro Teixeira 28/9/2014, 20:05

    Olá no exemplo que tem experimente:

    Right([NomeDoCampoComAno], 2)

    Abraço
    Predestined
    Predestined
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 13/08/2014

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty Re: [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos

    Mensagem  Predestined 28/9/2014, 23:00

    Saudações ahteixeira! Estou grato pela sugestão.
    Eu estava a testar a sua sugestão entre os exemplos daqui fórum, quando tive uma clareza de modificação em um dos exemplos.

    O exemplo que modifiquei fica no link [Resolvido]Auto numeração com mascara no formato 0001/2014

    Fiz adequações em três linhas do código basContador

    de: AnoData = Year(Date)
    para: AnoData = Format(Date, "yy")

    de: CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 4)
    para: CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 2)

    de: ContadorDeRegistros = StrZero(ContadorDeRegistros, 10)
    para: ContadorDeRegistros = StrZero(ContadorDeRegistros, 8)


    Código:

    Option Compare Database
    Option Explicit
    Public Function ContadorDeRegistros(strCampo As String, strSql As String)
    'Autor: Carlos em 20/01/99 e-mail: crpmoura@ig.com.br
    'Contador de registros personalizado no formato numero/ano
    Dim strNum As String, DB As Database
    Dim strMax As String, CampoAno As String
    Dim AnoData As String, tbl As Recordset

    Set DB = CurrentDb

    'Ano tirado da data do sistema
    'Modificado em 2014. Versão anterior da linha abaixo, acima do codigo modificado
    'AnoData = Year(Date)
    AnoData = Format(Date, "yy")
        
        'Abre a Tabela
        Set tbl = DB.OpenRecordset(strSql)
        'Se não há registros na tabela
        If tbl.RecordCount = 0 Then
        'Primeiro registro
        ContadorDeRegistros = 1 & "/" & AnoData
     Else
        'pega o  registro
        strMax = tbl(strCampo)
        'Pega o ano
        'Modificado em 2014. Versão anterior da linha abaixo, acima do codigo modificado
        'CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 4)
        CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 2)
        'Aqui testo o Ano do último registro com o do sistema
        'Se  for igual continue a contagem senão...
        If CampoAno = AnoData Then
           strNum = Left(strMax, (InStr(1, strMax, "/") - 1)) + 1
           ContadorDeRegistros = strNum & "/" & AnoData
        Else
           MsgBox "O sistema iniciará uma nova contagem dos registros" _
                  & vbCrLf & " em função da virada do ano", vbInformation, "ATENÇÃO"
           ContadorDeRegistros = 1 & "/" & AnoData
        End If
    End If
    'formata o número
    'Modificado em 2014. Versão anterior da linha abaixo, acima do codigo modificado
    'ContadorDeRegistros = StrZero(ContadorDeRegistros, 10)
    ContadorDeRegistros = StrZero(ContadorDeRegistros,
    tbl.Close
    Set DB = Nothing
    End Function

    Sendo assim, vou encerar este post. Agradeço mais uma vez.


    Predestined
    Predestined
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 13/08/2014

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty resolvido

    Mensagem  Predestined 28/9/2014, 23:01

    resolvido
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7914
    Registrado : 15/03/2013

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty Re: [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos

    Mensagem  Alvaro Teixeira 29/9/2014, 10:51

    Obrigado pelo retorno, o forum agradece.
    Abraço
    Predestined
    Predestined
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 13/08/2014

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty Numeração Automática (NNNNN/AA) com barra e ano de dois dígitos no fim

    Mensagem  Predestined 5/10/2014, 00:42

    Boas pessoal!

    Tive algumas limitações usando o código via módulo (estou usando muitos exemplos daqui para meu projeto, pois ainda estou estudando VBA). Por este motivo penso que será válido para mais alguém postar aqui a segunda opção de auto numeração no formato NNNNN/AA que encontrei.

    Ficou até mais simples, pois este será posto como critério no campo valor padrão do Form:

    =SeImed(DContar("[NomeCampo]";"NomeTabela")=0;("00001" & "/" & Direita(Ano(Data());2));Format((Esquerda(DMáx("[NomeCampo]";"NomeTabela");5)+1) & Direita(Ano(Data());2);"00000\/00"))


    Estou usando a versão MS Office 2010
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7914
    Registrado : 15/03/2013

    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty Re: [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos

    Mensagem  Alvaro Teixeira 6/10/2014, 09:14

    Olá, mais uma vez obrigado pelo retorno, para não confundir os restantes utilizadores para a questão solicitada o código que resolveu a situação é:

    Em consulta do idioma portugues: Direita(Ano(Data());2)

    Caso seja diretamente no editor de vba: Right(Year(Date()),2)

    Abraço


    Conteúdo patrocinado


    [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos Empty Re: [Resolvido]Numeração Automática (NNNNN/AA) é importante manter o ano com dois digitos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 18:22