Não deixe de se cadastrar em nosso blog para assistir este tutorial gratuito: Como criar Campo Auto Incrementador em Tabelas via VBA, clicando aqui.
Sabemos que o Microsoft Access dispõem de um tipo de dados conhecido como ‘AutoNumeração’ que permite aumentar automaticamente um valor em 1 quando atribuído a um campo da tabela.
Porém, há casos, dependendo do projeto que este número não poderá começar a partir de 1. Caso um projeto necessite que este contador comece a partir de 1000.
Como poderemos resolver???
No tutorial abaixo você irá aprender passo-a-passo de como implementar esta solução!😮
Suponhamos o campo ID da tabela tblClientes. Conforme o nosso projeto, este campo deverá ser a Chave Primária da tabela e deverá ser do Tipo Número como tipo de dado.
Através de um código simples vamos auto incrementar este campo.
No 1º Passo, depois do formulário criado (este formulário deverá estar Não Acoplado na tabela), vamos criar uma função que vai gerar um contador para o próximo ID.
Esta função fncNovoID() vai calcular o próximo ID, através da função DMAX(). Caso não haja dado digitado na tabela, trataremos um Erro de Execução 94, que irá iniciar o contador em 1000.
Public Function fncNovoID() As Long
On Error GoTo ErroNovoID
Dim lngNovoID As Long
lngNovoID = DMax("[ID]", "tblClientes") + 1
fncNovoID = lngNovoID
Exit Function
ErroNovoID:
If Err.Number = 94 Then
fncNovoID = 1000
End If
End Function
O 2º Passo é pegar o valor gerado pela Função fncNovoID() e atribuí-la a caixa de texto txtiD que vai exibir o valor no formulário frmClientes. Este procedimento será chamado de PegaCampoID
Private Sub PegaCampoID()
Me!txtiD = fncNovoID()
Me!PrimeiroNome.SetFocus
End Sub
O 3º Passo é chamar o procedimento PegaCamoID() no evento ‘Ao Carregar’ do formulário frmClientes.
Private Sub Form_Load()
Call PegaCampoID
End Sub
Ao exibir o formulário, teremos o resultado da função exibido no campo, que deverá ter sua propriedade Habilitado, como não.
Agora, vamos simular uns 2 registros na tabela para ver qual valor o campo auto incrementador irá gerar.
Neste caso o último registro tem como o ID o valor de 1005.
Ao carregarmos mais uma vez o formulário, o próximo iD será?