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]Iniciar numeração automática no inicio de cada ano

    Compartilhe

    Burita
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 99
    Registrado : 03/04/2013

    [Resolvido]Iniciar numeração automática no inicio de cada ano

    Mensagem  Burita em Sex 04 Maio 2018, 11:23

    Bom dia.
    Estive a pesquisar aqui no fórum mas não consegui encontrar nenhum exemplo que me ajudasse.
    Como implementar um sistema que iniciasse a numeração automática no inicio de cada ano? Alguém me pode dar alguns exemplo, se possível?
    Obrigado.

    Cumprimentos
    avatar
    gilberlanio
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 694
    Registrado : 30/08/2010

    Re: [Resolvido]Iniciar numeração automática no inicio de cada ano

    Mensagem  gilberlanio em Sex 04 Maio 2018, 14:23

    Cole essa função em seu formulário e faça as alterações:
    SEUCAMPOID = Seu campo código da tabela que vai receber a informação
    NOMETABELA = Nome de sua tabela
    Código:
    Function proximoNumero() As String
    'Função que busca o último número do mês
    'e acrescenta um para criar o próximo

        Dim strSql As String
        Dim rstDoc As New ADODB.Recordset
        Dim numeroEncontrado As Integer
        
        'Cria a consulta SQL buscando os números do mês atual
        'em ordem descendente para que o último fique em primeiro
        strSql = "Select SEUCAMPOID From NOMETABELA " & _
                    "Where (SEUCAMPOID Like '%" & "-" & Format(Date, "dd") & "/" & Format(Date, "mm") & "/" & Format(Date, "yyyy") & "') " & _
                    "Order By SEUCAMPOID Desc"

        'Abre o recordset
        rstDoc.Open strSql, CurrentProject.Connection, adOpenStatic, adLockReadOnly

        'Se encontrou algum pega o primeiro
        'senão retorna zero
        If rstDoc.RecordCount > 0 Then
            numeroEncontrado = CInt(Left(rstDoc("SEUCAMPOID"), 3))
        Else
            numeroEncontrado = 0
        End If

        'Próximo número = numero encontrado +1 mais o mês e ano atual com dois dígitos
        proximoNumero = Format(numeroEncontrado + 1, "000") & "-" & Format(Date, "dd") & "/" & Format(Date, "mm") & "/" & Format(Date, "yyyy")

        'Fecha o recordset
        rstDoc.Close
        Set rstDoc = Nothing

    End Function

    depois chame a função no clique do botão novo:

    SEUCAMPOID = proximoNumero

    Obs. Seu campo código que vai receber a informação precisa ser do tipo Texto


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

    Vários Exemplos Grátis

    Burita
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 99
    Registrado : 03/04/2013

    Re: [Resolvido]Iniciar numeração automática no inicio de cada ano

    Mensagem  Burita em Seg 07 Maio 2018, 11:48

    Obrigado gilberlanio.
    Vou experimentar e testar.

    Cumprimentos
    avatar
    gilberlanio
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 694
    Registrado : 30/08/2010

    Re: [Resolvido]Iniciar numeração automática no inicio de cada ano

    Mensagem  gilberlanio em Seg 07 Maio 2018, 14:22

    Ficamos no aguardo se resolveu


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

    Vários Exemplos Grátis

      Data/hora atual: Qua 23 Maio 2018, 02:27