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

Summary: 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 :

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 :

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 :

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

Figure 3 – Sélectionner Compact and Repair Database (compacter et réparer 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.

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

Figure 5 – Fermeture de la boîte Show Table

Figure 6 – Sélection de la vue SQL

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

Figure 7 – Requête dans Access

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.

Figure 8 – Sélection du module

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

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

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.

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.

Related Post

Exit mobile version