Table des matières
    Réparation de la base de données Access

    Comment corriger l’erreur 3022 d’Access Database “Les modifications que vous avez demandé d’apporter au tableau n’ont pas abouti” ?


    Table des matières

      Résumé: Ce blogue traite des différentes situations et des causes possibles qui peuvent entraîner l'erreur 3022 de la base de données Access. Il présente également les solutions permettant de résoudre l'erreur 3022.

      L’erreur d’accès 3022 “Les modifications que vous avez demandé d’apporter à la table n’ont pas abouti” peut se produire dans l’une ou l’autre de ces situations :

      • Lors de la saisie d’un nouvel enregistrement dans une table existante comportant un champ “Numérotation automatique”.
      • Création d’un formulaire ou d’un rapport
      • Lors de l’accès à un fichier de base de données stocké sur un partage de réseau
      Conseil ! Si vous souhaitez restaurer rapidement votre fichier de base de données Access (.ACCDB/.MDB) inaccessible sans perte de données, utilisez le logiciel Stellar Repair for Access. Ce logiciel permet de réparer le fichier de base de données et de récupérer tout son contenu sans aucune modification. Téléchargez l’outil de réparation Access à partir du lien ci-dessous pour vérifier sa fonctionnalité.

      Il s’agit d’une erreur d’exécution de Microsoft Access qui est signalée par le message suivant :

      Erreur 3022 de Microsoft Access

      Figure 1 – Erreur 3022 de Microsoft Access

      Causes possibles de l’erreur d’accès 3022 et leurs solutions

      Vous trouverez ci-dessous les raisons possibles de l’erreur, ainsi que les solutions :

      Cause 1 – Le jeu de spécifications est corrompu

      Selon Microsoft, l’erreur Access 3022 peut se produire en raison d’un ensemble de spécifications corrompu.

      Solution – Compacter l’ensemble des spécifications

      Essayez de compacter le jeu de spécifications actuel de votre base de données Access. Si le compactage réussit, mais que vous obtenez toujours l’erreur Access 3022 à l’ouverture d’un composant de rapport, exportez ce composant dans un nouveau jeu de spécifications ou recréez-le. Mais si le processus de compactage échoue, essayez de réparer le fichier de base de données.

      Cause 2 – Problème avec la base de données Access

      Votre base de données Access peut se comporter différemment en raison d’une corruption dans la table.

      Solution – Compacter et réparer la base de données

      L’exécution d’une opération de compactage et de réparation sur votre base de données peut aider à résoudre le problème. Procédez comme suit :

      • Ouvrez votre base de données Access.
      • Dans la fenêtre qui s’affiche, appuyez sur la croix (x) pour fermer la table de la base de données (comme le montre l’image ci-dessous).
      Fermer la table de la base de données

      Figure 2 – Fermer la table de la base de données

      • Cliquez sur l’onglet Outils de base de données, puis sur Compacter et réparer la base de données dans le menu Outils.
      Sélectionner Compact and Repair Database (compacter et réparer la base de données)

      Figure 3 – Sélectionner Compact and Repair Database (compacter et réparer la base de données)

      • Dans la fenêtre Base de données à compacter, cliquez sur Parcourir pour sélectionner la base de données à compacter et à réparer. Double-cliquez sur la base de données.

      Vous trouverez la copie de votre base de données compactée et réparée au même endroit que la base de données originale.

      Cause 3 – Le champ de numérotation automatique n’est pas correctement renseigné

      Une autre raison fréquente qui peut conduire à l’erreur MS Access 3022 est que le champ Autonumber de la clé primaire n’est pas correctement ensemencé. 

      Solution – Réinitialiser manuellement le champ Autonumber

      Il existe deux méthodes pour réinitialiser manuellement le champ Autonumber.

      Méthode 1 : Utiliser une requête de définition des données

      Vous pouvez réinitialiser le champ “Autonumber” en le supprimant. Pour ce faire, ouvrez votre tableau en vue Conception, puis réinsérez-le. Les étapes détaillées sont énumérées ci-dessous :

      1. Ouvrez une base de données dans Access, cliquez sur l’onglet Créer et sélectionnez Conception de requête dans le groupe Requêtes.
      Conception d'une requête de sélection

      Figure 4 – Conception d’une requête de sélection

      • Cliquez sur Fermer lorsque la boîte de dialogue Afficher le tableau s’ouvre.
      Fermeture de la boîte Show Table

      Figure 5 – Fermeture de la boîte Show Table

      • Dans l’onglet Conception, sélectionnez l’option Vue SQL dans le groupe Résultats.
      Sélection de la vue SQL

      Figure 6 – Sélection de la vue SQL

      • Dans l’écran Query1, saisissez le code suivant :

      ALTER TABLE Table1 ALTER COLUMN AutoNumFieldName COUNTER(iMaxID,1) ;

      Figure 7 - Requête dans Access

      Figure 7 – Requête dans Access

      • Exécutez maintenant la requête ci-dessus en cliquant sur l’option Exécuter dans le groupe Résultats.

      Méthode 2 – Exécuter un code VBA

      Si vous avez saisi de nouveaux enregistrements dans une table Access à l’aide de Visual Basic Application (VBA), procédez comme suit pour réinitialiser le champ Numérotation automatique.

      1. Dans Access, cliquez sur l’onglet Créer, puis sur Module dans le groupe Macros et code.
      Sélection du module

      Figure 8 – Sélection du module

      • Tapez maintenant le code ci-dessous dans l’éditeur Visual Basic.

      Sub ResetAuto()
      Dim iMaxID As Long
      Dim sqlFixID As String
      iMaxID = DMax(“”, “”) + 1
      sqlFixID = “ALTER TABLE ALTER COLUMN COUNTER(” & & “,1)”
      DoCmd.RunSQL sqlFixID
      End Sub

      Code pour réinitialiser le champ NuméroAuto

      Figure 9 – Code pour réinitialiser le champ NuméroAuto

      • Cliquez sur Run pour exécuter le code ci-dessus.
      Option d'exécution

      Figure 10 – Option d’exécution

      Ouvrez la table et essayez d’insérer un nouvel enregistrement. Si cela ne résout pas l’erreur d’exécution 3022, il se peut que la table soit corrompue. Utilisez le logiciel Stellar Repair for Access pour réparer votre base de données et récupérer ses objets, comme la table, les enregistrements supprimés, les formulaires, les modules, etc.

      Téléchargement gratuit pour Windows

      Conclusion

      Vous pouvez rencontrer l’erreur 3022 de la base de données Access lorsque vous tentez de saisir un nouvel enregistrement dans un champ Numéro automatique. L’erreur peut également se produire lors de l’ouverture d’un formulaire ou d’un fichier de base de données. Assurez-vous de comprendre la cause de cette erreur avant de mettre en œuvre les solutions présentées dans ce blog. Si vous ne pouvez pas accéder au fichier de base de données, utilisez le logiciel Stellar Repair for Access pour restaurer la base de données et ses objets.

      Was this article helpful?

      No NO

      A propos de l'auteur

      Himanshu Shakya

      Himanshu is a Tech Enthusiast and Blogger at Stellar, with expertise in data recovery solutions and a keen interest in emerging technologies. Fluent in Japanese, he brings a diverse skill set to his role, contributing to global tech conversations. Outside of work, Himanshu enjoys playing chess, sharpening his strategic thinking and problem-solving skills in his spare time.

      Article similaire

      POURQUOI STELLAR® EST LE LEADER MONDIAL

      Pourquoi choisir Stellar?

      • 0M+

        Clients

      • 0+

        Années d'excellence

      • 0+

        Ingénieurs R&D

      • 0+

        Pays

      • 0+

        Témoignages

      • 0+

        Récompenses reçues