domingo, 29 de julho de 2007

Reiniciar Campo auto-numerador

[Exemplo]

Por muito tempo, procurei em Fóruns, sites, livros uma forma de reinicar um capo auto-numerador.

Hoje, admito que dificilmente usaria, pois, geralmente oculto essa informação.

Mas está aí.

Colaboração de Luiz Cláudio C. V. Rocha, no Fórum MSDN.

------------------------------------------------------------
Function ChangeSeed(strTbl As String, strCol As String, lngSeed As Long) As Boolean
'You must pass the following variables to this function.
'strTbl = Table containing autonumber field
'strCol = Name of the autonumber field
'lngSeed = Long integer value you want to use for next AutoNumber.

Dim cnn As ADODB.Connection
Dim cat As New ADOX.Catalog
Dim col As ADOX.Column

'Set connection and catalog to current database.
Set cnn = CurrentProject.Connection
cat.ActiveConnection = cnn

Set col = cat.Tables(strTbl).Columns(strCol)
col.Properties("Seed") = lngSeed

cat.Tables(strTbl).Columns.Refresh

If col.Properties("seed") = lngSeed Then
ChangeSeed = True
Else
ChangeSeed = False
End If

Set col = Nothing
Set cat = Nothing
Set cnn = Nothing

End Function
------------------------------------------------------------
Assinale a biblioteca Microsoft ADO Ext. for DDL and Security.

2 comentários:

MC disse...

Oi Ale ...

Parabéns pelo seu blog, ficou dez.
Espero que seja mais uma ferramenta para nos desenvolvedores de Access.

Abraços, Mc Feba

Alexandre Minato disse...

Valeu Mc Faba, certamente será de grande utilidade.
abraços