Comment réinitialiser une valeur de champ NuméroAuto dans Access

Numéro de la base de connaissances d’origine : 812718

Résumé

Cet article pas à pas explique comment réinitialiser une valeur de champ NuméroAuto dans Access. La valeur du champ NuméroAuto dans Access ne se réinitialise pas automatiquement lorsque vous supprimez certaines lignes ou toutes les lignes d’une table. Pour réinitialiser la valeur du champ NuméroAuto et actualiser la valeur AutoNumber dans la table référencée, vous devez effectuer manuellement certaines tâches.

Remarque

Vous devez sauvegarder votre base de données avant d’effectuer les étapes suivantes.

Réinitialiser un champ NuméroAuto dans une table unique

Si votre table n’a aucune relation avec d’autres tables, utilisez la méthode 1 ou la méthode 2 pour réinitialiser une valeur de champ NuméroAuto.

Méthode 1 : Déplacer les données vers une nouvelle table à l’aide d’une requête Make-Table

Vous pouvez réinitialiser une valeur de champ NuméroAuto à l’aide d’une requête Make-Table pour créer une table contenant les mêmes données, puis en ajoutant un nouveau champ NuméroAuto.

Access 2003 et versions antérieures

Pour ce faire dans Access 2003 ou dans une version antérieure, procédez comme suit :

  1. Supprimez le champ NuméroAuto de la table main et notez le nom du champ NuméroAuto.
  2. Cliquez sur Requêtes dans le volet gauche, puis double-cliquez sur Créer une requête en mode Création dans le volet droit.
  3. Dans la boîte de dialogue Afficher la table, sélectionnez la table main, cliquez sur Ajouter, puis sur Fermer.
  4. Double-cliquez sur les champs obligatoires dans la vue table de la table main pour sélectionner les champs.
  5. Sélectionnez l’ordre de tri requis.
  6. Dans le menu Requête , cliquez sur Créer une requête de table, tapez le nouveau nom de la table dans la zone de texte Nom de la table, puis cliquez sur OK.
  7. Dans le menu Requête , cliquez sur Exécuter.
  8. Lorsque vous êtes invité par le message « Vous êtes sur le point de coller # ligne(s) dans une nouvelle table », cliquez sur Oui pour insérer les lignes.
  9. Dans le menu Fichier , cliquez sur Fermer, puis sur Non pour fermer la fenêtre Créer une requête de table .
  10. Cliquez sur Tables dans le volet gauche, cliquez avec le bouton droit sur la nouvelle table, puis cliquez sur Mode Création.
  11. En mode Création de la table, ajoutez un champ NuméroAuto portant le même nom que celui que vous avez supprimé à l’étape 1, ajoutez ce champ NuméroAuto à la nouvelle table, puis enregistrez la table.
  12. Fermez la fenêtre En mode Création .
  13. Renommez la table main, puis renommez la nouvelle table pour qu’elle corresponde au nom de la table main.

Access 2007 et versions ultérieures

Pour ce faire dans Microsoft Office Access 2007 ou dans une version ultérieure, procédez comme suit :

  1. Supprimez le champ NuméroAuto de la table main et notez le nom du champ NuméroAuto.
  2. Cliquez sur l’onglet Créer , puis sur Création de requête dans le groupe Autre .
  3. Dans la boîte de dialogue Afficher la table, sélectionnez la table main. Cliquez sur Ajouter, puis sur Fermer.
  4. Double-cliquez sur les champs obligatoires dans la vue table de la table main pour sélectionner les champs.
  5. Sélectionnez l’ordre de tri requis.
  6. Sous l’onglet Création , cliquez sur Créer une table dans le groupe Type de requête .
  7. Tapez le nouveau nom de la table dans la zone Nom de la table , puis cliquez sur OK.
  8. Sous l’onglet Création , cliquez sur Exécuter dans le groupe Résultats .
  9. Lorsque vous êtes invité par le message « Vous êtes sur le point de coller # ligne(s) dans une nouvelle table », cliquez sur Oui pour insérer les lignes.
  10. Fermez la requête.
  11. Cliquez avec le bouton droit sur la nouvelle table, puis cliquez sur Mode Création.
  12. En mode Création de la table, ajoutez un champ NuméroAuto portant le même nom que celui que vous avez supprimé à l’étape 1. Ajoutez ce champ NuméroAuto à la nouvelle table, puis enregistrez la table.
  13. Fermez la fenêtre En mode Création.
  14. Renommez la table main, puis renommez la nouvelle table pour qu’elle corresponde au nom de la table main.

Méthode 2 : Créer une table et y déplacer les données à l’aide d’une requête d’ajout

Vous pouvez copier la structure de votre table existante en tant que nouvelle table. Vous pouvez ensuite ajouter les données dans la nouvelle table et ajouter un nouveau champ NuméroAuto.

Access 2003 et versions antérieures

Pour ce faire dans Microsoft Office Access 2003 et dans les versions antérieures, procédez comme suit :

  1. Supprimez le champ NuméroAuto de la table main.

    Notez le nom du champ NuméroAuto .

  2. Copiez la structure de la table main, puis créez-en une.

  3. Cliquez sur Requêtes dans le volet gauche. Cliquez sur Créer une requête en mode Création dans le volet droit.

  4. Dans la boîte de dialogue Afficher la table, sélectionnez la table main. Cliquez sur Ajouter , puis sur Fermer.

  5. Pour sélectionner les champs, double-cliquez sur les champs requis. Effectuez cette opération pour tous les champs, à l’exception du champ NuméroAuto dans la vue Table de la table main.

  6. Dans le menu Requête , cliquez sur Ajouter une requête.

    Remarque

    Cela modifie le type de requête.

  7. Dans la liste Nom de la table , sélectionnez la nouvelle table que vous avez créée à l’étape 2. Cliquez sur OK.

  8. Dans le menu Requête , cliquez sur Exécuter.

  9. Lorsque vous êtes invité par le message « Vous êtes sur le point de coller # ligne(s) dans une nouvelle table », cliquez sur Oui pour insérer les lignes.

  10. Dans le menu Fichier , cliquez sur Fermer. Cliquez sur Non pour fermer la fenêtre AppendQuery .

  11. Cliquez sur Tables dans le volet gauche. Cliquez avec le bouton droit sur la nouvelle table, puis cliquez sur Mode Création.

  12. En mode Création de la table, ajoutez un champ NuméroAuto portant le même nom que celui que vous avez supprimé à l’étape 1. Ajoutez ce champ NuméroAuto à la nouvelle table, puis enregistrez la table.

  13. Fermez la fenêtre En mode Création .

  14. Renommez la table main, puis renommez la nouvelle table pour qu’elle corresponde au nom de la table main.

Access 2007 et versions ultérieures

Pour ce faire dans Microsoft Office Access 2007 ou dans une version ultérieure, procédez comme suit :

  1. Supprimez le champ NuméroAuto de la table main.

    Notez le nom du champ NuméroAuto .

  2. Copiez la structure de la table main, puis créez-en une.

  3. Cliquez sur l’onglet Créer , puis sur Création de requête dans le groupe Autre .

  4. Dans la boîte de dialogue Afficher la table, sélectionnez la table main. Cliquez sur Ajouter, puis sur Fermer.

  5. Pour sélectionner les champs, double-cliquez sur les champs requis. Effectuez cette opération pour tous les champs à l’exception du champ NuméroAuto dans la vue Table de la table main.

  6. Sous l’onglet Création , cliquez sur Ajouter dans le groupe Type de requête .

    Remarque

    Cela modifie le type de requête.

  7. Dans la liste Nom de la table , sélectionnez la nouvelle table que vous avez créée à l’étape 2, puis cliquez sur OK.

  8. Sous l’onglet Création , cliquez sur Exécuter dans le groupe Résultats .

  9. Lorsque vous êtes invité par le message « Vous êtes sur le point de coller # ligne(s) dans une nouvelle table », cliquez sur Oui pour insérer les lignes.

  10. Fermez la requête.

  11. Cliquez avec le bouton droit sur la nouvelle table, puis cliquez sur Mode Création.

  12. En mode Création de la table, ajoutez un champ NuméroAuto portant le même nom que celui que vous avez supprimé à l’étape 1. Ajoutez ce champ NuméroAuto à la nouvelle table, puis enregistrez la table.

  13. Fermez la fenêtre En mode Création.

  14. Renommez la table main, puis renommez la nouvelle table pour qu’elle corresponde au nom de la table main.

Réinitialiser un champ NuméroAuto dans une table avec des tables référencées

Une table avec des tables référencées a une relation avec une ou plusieurs tables. Les étapes suivantes décrivent comment réinitialiser le champ NuméroAuto pour une table qui a une table référencée. Si vous avez plusieurs tables référencées, vous devez suivre ces étapes pour chaque table référencée.

  1. Supprimez la relation entre les tables.

  2. Définissez le champ NuméroAuto de la table main sur un type de données Number, puis supprimez la clé primaire.

  3. Créez un champ de type de données NuméroAuto dans la table main, puis enregistrez la table.

  4. Créez un champ de type de données Number dans la table référencée, puis enregistrez la table.

  5. Pour créer une requête de mise à jour qui met à jour le nouveau champ de la table référencée vers le nouveau champ NuméroAuto de la table main, procédez comme suit.

    Access 2003 et versions antérieures

    1. Cliquez sur Requêtes dans le volet gauche, puis cliquez sur Créer une requête en mode Création dans le volet droit.

      Remarque

      Cela crée votre nouvelle requête.

    2. Dans la boîte de dialogue Afficher la table, sélectionnez la table main et la table référencée, cliquez sur Ajouter pour ajouter la table main et la table référencée, puis cliquez sur Fermer.
    3. Cliquez sur le champ de la table main précédemment liée à la table référencée, puis faites glisser le champ vers le champ précédemment lié de la table référencée.

      Remarque

      Cela crée la jointure entre les tables basée sur les champs de liaison d’origine.

    4. Dans le menu Requête , cliquez sur Mettre à jour la requête.
    5. Double-cliquez sur le nouveau champ à partir de la table référencée pour l’ajouter à la liste des champs.
    6. Dans le champ Mettre à jour vers , tapez [Main TableName].[ Nouveau champ NuméroAuto] pour mettre à jour les nouvelles valeurs de champ dans la table référencée.
    7. Dans le menu Requête , cliquez sur Exécuter.
    8. Lorsque vous êtes invité par le message « Vous êtes sur le point de coller # ligne(s) dans une nouvelle table », cliquez sur Oui pour insérer les lignes.
    9. Dans le menu Fichier , cliquez sur Fermer, puis sur Non pour fermer la fenêtre Mettre à jour la requête .

    Access 2007 et versions ultérieures

    1. Cliquez sur l’onglet Créer , puis sur Création de requête dans le groupe Autre . Cette opération crée la nouvelle requête.
    2. Dans la boîte de dialogue Afficher la table, sélectionnez la table main et la table référencée. Cliquez sur Ajouter pour ajouter la table main et la table référencée. Cliquez sur Fermer.
    3. Cliquez sur le champ de la table main précédemment liée à la table référencée, puis faites glisser le champ vers le champ précédemment lié de la table référencée.

      Remarque

      Cela crée la jointure entre les tables basée sur les champs de liaison d’origine.

    4. Sous l’onglet Création , cliquez sur Mettre à jour dans le groupe Type de requête .

      Remarque

      Cela modifie le type de requête.

    5. Double-cliquez sur le nouveau champ à partir de la table référencée pour l’ajouter à la liste des champs.
    6. Dans le champ Mettre à jour vers , tapez [Main TableName].[ Nouveau champ NuméroAuto] pour mettre à jour les nouvelles valeurs de champ dans la table référencée.
    7. Sous l’onglet Création , cliquez sur Exécuter dans le groupe Résultats .
    8. Lorsque vous êtes invité par le message « Vous êtes sur le point de coller # ligne(s) dans une nouvelle table », cliquez sur Oui pour insérer les lignes.
    9. Fermez la requête.
  6. Supprimez le champ de liaison d’origine de la table main et de la table référencée.

  7. Rétablissez le nom du nouveau champ NuméroAuto sur le nom d’origine.

  8. Recréez la clé primaire et la relation entre les tables. Cette procédure réinitialise votre champ NuméroAuto et met à jour la table référencée à l’aide des valeurs de clé correctes.