Existem 2 caminhos para acrescentarmos um campo cujo o conteúdo seja autonumerado:
Um dos modos é fazê-lo através do comando SQL DDL Create Table, e o outro é o modo como abordaremos neste artigo usando VBA e DAO para adicionar um campo em uma tabela pré-existente.
Antes de continuar, um pequeno parênteses, deixe seus comentários para este post.
A função abaixo, desenvolvida por Dev Ashish, serve para efetuar tal ação em qualquer tabela na qual tenhamos a necessidade de inserirmos um campo numerado.
Function fCreateAutoNumberField (ByVal strTableName As String, ByVal strFieldName As String) As Boolean
Dim db As DAO.DatabaseDim fld As DAO.FieldDim tdf As DAO.TableDefOn Error GoTo ErrHandlerSet db = Application.CurrentDbSet tdf = db.TableDefs(strTableName)' Primeiro criamos um campo com o tipo = Long IntegerSet fld = tdf.CreateField(strFieldName, dbLong)With fld' Adicionamos o dbAutoIncrField para efetuar chamadas ao Jet que sozinho efetuará a autonumeração do campoLet .Attributes = .Attributes Or dbAutoIncrFieldEnd WithWith tdf.Fields.Append fld.RefreshEnd WithLet fCreateAutoNumberField = TrueExitHere:Set fld = NothingSet tdf = NothingSet db = NothingExit FunctionErrHandler:Let fCreateAutoNumberField = FalseWith ErrMsgBox "Erro: " & .Number & vbCrLf & .Description, _vbOKOnly Or vbCritical, "CreateAutonumberField"End WithResume ExitHere
End Function
Ei, Ok! tudo bom, tudo legal, mas e quanto a primeira opção? Não chorem, coloquei-a mais abaixo:
Para criar uma tabela com um campo com AutoNumeração e PrimaryKey, além de um campo chamado MyText com o tipo TEXTO e comprimento de 10, insira a instrução a seguir na janela de consulta de definição de dados e, em seguida, executar a consulta.CREATE TABLE Table1 _(Id COUNTER CONSTRAINT PrimaryKey PRIMARY KEY, _MyText TEXT (10))
Tags: VBA, autonumber, increment, Dev Ashish, counter
Nenhum comentário:
Postar um comentário