Commencer la numérotation d'un champ au numéro de votre choix
Il est parfois utile de pouvoir réinitialiser un champs NuméroAuto d'une table après l'avoir 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 l'incrémentation à partir d'un 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 d'appeler la function de la fenêtre execution ou même 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.
Exemple d'utilisation:
faire commencer à 1 l'incrément du champs NUM de la table CLIENT: REP = INIT_NUMERO("CLIENT", "NUM", 1)
Faire commencer à -5000 l'incrément d'une même table REP = INIT_NUMERO("CLIENT", "NUM", -5000)