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

    Autonumeração

    Compartilhe

    sampaioin
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 02/08/2018

    Autonumeração

    Mensagem  sampaioin em 6/11/2018, 07:05

    Olá a todos!
    Há alguns anos eu tinha uma função que auto enumerava reaproveitando números já excluídos.
    Acontece que faz tanto tempo que acabei perdendo a danada, acabei criando esta ai embaixo.
    Ta bem feinha eu sei, mas se for útil para alguém tai.

    Public Function autonumera()
       Dim db As Database
       Dim rs As Recordset
       Dim sql As String
       Dim idAnterior As Long
       Dim idAtual As Long
       Dim idNovo As Long
       
       sql = "Select * from teste order by idTeste"
       Set db = CurrentDb()

       Set rs = db.OpenRecordset(sql)     'abre o recordset
       If rs.EOF = True And rs.BOF = True Then
           idNovo = 1
           

       ElseIf rs(0) > 1 Then
           idNovo = 1
           'Debug.Print idNovo
           
           

       ElseIf rs(0) = 1 Then
           idAnterior = 0

          Do While idNovo = 0
               idAtual = rs(0)
               If idAnterior = idAtual - 2 Then
                   
                   idNovo = idAtual - 1
                   
               Else
                   idAnterior = idAnterior + 1


                   rs.MoveNext
           
               End If
           Loop
           


       End If


       rs.Close
    autonumera = idNovo
    'MsgBox (autonumera)
       
    End Function
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Autonumeração

    Mensagem  Alexandre Neves em 6/11/2018, 10:56

    Bom dia e bem-vindo ao fórum
    Movi-lhe para esta sala, por se tratar de exemplo disponibilizado
    Obrigado pela participação e contamos com toda a participação


    .................................................................................
    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

      Data/hora atual: 18/11/2018, 02:23