Accueil » Access » Commencer la numérotation d'un...

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:

  1. faire commencer à 1 l'incrément du champs NUM de la table CLIENT: REP = INIT_NUMERO("CLIENT", "NUM", 1)
  2. Faire commencer à -5000 l'incrément d'une même table REP = INIT_NUMERO("CLIENT", "NUM", -5000)

Source :
Astuce consultée 10652 fois

|

Imprimer cette astuce

Cette astuce n'a pas répondu à vos questions? Venez faire un tour sur notre forum où nos membres répondront à vos questions!