Il est parfois utile de pouvoir réinitialiser un champs NuméroAuto dune table aprs lavoir vidée, voir de faire commencer ce champs un numéro autre que 1. Ce code le permet mais en plus il permet de faire commencer lincrémentation partir dun chiffre négatif :
Option Compare Database Function INIT_NUMERO(NOM_TABLE As String, NOM_CHAMP As String, NUMERO As Integer) As Boolean On Error GoTo INIT_NUMERO_ERROR Dim dbs As Object Set dbs = Application.CurrentDb dbs.Execute "INSERT INTO " & NOM_TABLE & " (" & NOM_CHAMP & ") SELECT " & (NUMERO-1) & " AS NUMERO;" dbs.Execute "DELETE * FROM " & NOM_TABLE & " WHERE " & NOM_CHAMP & " = " & (NUMERO-1) & ";" Set dbs = Nothing INIT_NUMERO = True Exit Function INIT_NUMERO_ERROR: INIT_NUMERO = False End Function
Il suffit ensuite dappeler la function de la fentre execution ou mme en pleine execution (attention, il faut que la table concerné soit fermée!). La function retourne true en cas de réussite, False en cas déchec.
|