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

    Autonumeração

    avatar
    sampaioin
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

    Autonumeração  Empty Autonumeração

    Mensagem  sampaioin 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
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Autonumeração  Empty Re: Autonumeração

    Mensagem  Alexandre Neves 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: 21/11/2024, 09:38