Comment corriger “Les modifications que vous avez demandées à la table n’ont pas abouti (erreur 3022)” dans Access?

Lors de la manipulation de la base de données Microsoft Access, les utilisateurs rencontrent souvent diverses erreurs et problèmes qui perturbent leur flux de travail. L’un de ces messages d’erreur que les utilisateurs rencontrent et signalent actuellement est le suivant: “The changes you requested to the table were not successful …” dans Access. Cela se produit généralement lorsqu’ils tentent d’ajouter un nouvel enregistrement dans la table DB contenant le champ Numéro automatique. Cependant, il peut être ennuyeux de recevoir cette erreur car elle restreint l’exécution d’activités sur la base de données. Elle doit donc être corrigée dès que possible.

Voici la capture d’écran de l’erreur:

modifications que vous avez demandées à la table n’ont pas abouti

Ainsi, dans ce blog, je vais parler en détail de l’erreur MS Access 3022 ainsi que des raisons qui la déclenchent et fournir des solutions efficaces pour la corriger.

Classé Excellent sur Trustpilot
Outil Gratuit de Réparation de Base de Données MS Access
Réparez les fichiers de base de données MDB et ACCDB corrompus et récupérez facilement les tables, les requêtes, les index et les enregistrements de base de données supprimés. Essayez maintenant!
Télécharger
En cliquant sur le bouton Télécharger ci-dessus et en installant Stellar Repair for Access (14.8 MB), je reconnais avoir lu et accepté le contrat de licence utilisateur final et la politique de confidentialité de ce site.

Réparations rapides:

Que signifie l’erreur d’accès “Les modifications que vous avez demandées à la table n’ont pas abouti”?

Lorsque vous rencontrez le message d’erreur mentionné ci-dessous lors de la tentative d’insertion d’un nouvel enregistrement dans la table DB, cela signifie qu’il existe des valeurs en double dans l’index, la clé primaire ou la relation.

Les modifications que vous avez demandées à la table n’ont pas abouti car elles créaient des valeurs en double dans l’index, la clé primaire ou la relation. Modifiez les données du ou des champs contenant des données en double, supprimez l’index ou redéfinissez l’index pour autoriser les entrées en double et réessayez.

Il peut y avoir plusieurs raisons derrière cette erreur. Ici, j’ai sélectionné les facteurs les plus courants :

  • Corruption dans l’ensemble des spécifications.
  • La base de données Access a été compactée d’une manière ou d’une autre.
  • La table contient un champ de numérotation automatique qui n’est pas correctement réensemencé.

? Vous devez avoir installé Microsoft Jet 4.0 Database Engine Service Pack 8 (SP8).

  • Peut-être avez-vous ajouté les données de la table liée 1 à la table liée 2 en utilisant l’option Base de données actuelle à la place d’une autre base de données. Supprimez l’enregistrement de la table liée 1 et ajoutez à nouveau l’enregistrement exact de la table liée 2 à l’aide de l’option Base de données actuelle.

Les solutions pour corriger les modifications que vous avez demandées à la table n’ont pas abouti

Cette section contient de nombreuses solutions de contournement pour résoudre l’erreur MS Access 3022.

Solution 1 – Utiliser une requête de définition de données

La première méthode que vous devez essayer consiste à utiliser la requête de définition de données pour ouvrir la base de données Access.

Pour les utilisateurs d’Access 2007:

  • Allez dans l’onglet Créer; cliquez sur Conception de requête dans l’Autre
  • Dans la boîte de dialogue Afficher le tableau, appuyez sur l’option de fermeture.
  • Maintenant, allez dans l’onglet Conception, cliquez sur Vue SQL dans les Résultats.
  • Tapez ce qui suit dans la fenêtre Query1 :

modifications que vous avez demandées à la table n’ont pas abouti

ALTER TABLE TableNameALTER COLUMN AutoNumFieldNameCOUNTER(iMaxID,1);

Note:

TableName est un espace réservé pour le nom de la table. AutoNumFieldName est un espace réservé pour le nom du champ Autonumber. iMaxID est un espace réservé pour la valeur maximale actuelle dans le champ plus 1.

  • Dans l’onglet Conception, appuyez sur l’option Exécuter dans Résultats.

Pour les utilisateurs d’Access 2003 :

  • Cliquez sur les requêtes sous les objets dans la fenêtre de la base de données.
  • Après cela, cliquez sur Nouveau, cliquez sur Mode Conception, puis cliquez sur OK.
  • Dans la boîte de dialogue Afficher le tableau ouverte, cliquez sur l’option de fermeture.
  • Dans le menu de requête, cliquez sur SQL Specific, puis cliquez sur Définition des données.

modifications que vous avez demandées à la table n’ont pas abouti

  • Dans la fenêtre Requête de définition de données, tapez la command.ALTER TABLE TableNameALTER COLUMN AutoNumFieldNameCOUNTER(iMaxID,1); Note:

Ici, le TableName signifie clairement le nom de la table. Et AutoNumFieldName indique le nom du champ Autonumber. Alors que l’iMaxID représente la valeur maximale actuelle dans le champ plus 1.

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

Lisez également: Correction de l’erreur “Vous n’avez pas d’accès exclusif à la base de données pour le moment” dans Access

Solution 2 – Exécutez Visual Basic pour le code d’application

Accès 2007

  • Accédez à l’onglet Créer, cliquez sur la flèche vers le bas sous Macro, puis cliquez sur Module.

Accès 2003

? Accédez à la fenêtre de base de données, cliquez sur Modules sous Objets, puis cliquez sur Nouveau.

  • Ensuite, dans Visual Basic Editor, collez le code suivant.

Sub ResetAuto()

Dim iMaxID As Long

Dim sqlFixID As String

  iMaxID = DMax(“<AutonumberFieldName>”, “<TableName>”) + 1              

  sqlFixID = “ALTER TABLE <TableName> ALTER COLUMN <AutonumberFieldName> COUNTER(” & <iMaxID> & “,1)”

  DoCmd.RunSQL sqlFixID

End Sub

Remarque L’espace réservé <AutonumberFieldName> représente le nom du champ Autonumber. L’espace réservé <TableName> représente le nom de la table.

  1. Dans le menu Exécuter, cliquez sur Exécuter Sub/UserForm.

Note:

Fermez le tableau avant d’utiliser l’une ou l’autre des méthodes. Vous n’avez pas besoin d’enregistrer la requête ou le module après avoir utilisé avec succès l’une des deux méthodes ci-dessus.

Solution 3 – Corrigez les modifications que vous avez demandées à la table n’ont pas abouti en supprimant la clé primaire actuelle

Afin de résoudre l’erreur d’accès “3022”: les modifications que vous avez demandées à la table n’ont pas abouti dans la base de données Access 2013/2016. L’utilisateur doit concevoir les tables pour éliminer la possibilité de saisir des valeurs en double dans le champ de clé primaire ou dans le champ utilisant un index unique.

Si la clé primaire utilisée doit prendre en charge les valeurs en double, vous devez supprimer la clé primaire actuelle et ajouter un champ AutoNumber à votre table qui fonctionne comme une clé primaire.

Pour supprimer la clé primaire

La suppression de la clé primaire ne supprimera pas les champs ou les champs de votre table. Au lieu de cela, il supprime la désignation de clé primaire de ces champs.

Il supprime également l’index de la clé primaire créée pour la clé primaire.

  • Avant de supprimer la clé primaire, assurez-vous qu’elle ne contient aucune relation de table. Si vous essayez toujours de supprimer la clé primaire contenant les relations, Access vous avertit que vous devez d’abord supprimer la relation.
  • Maintenant, dans le volet de navigation, faites un clic droit sur le tableau dans lequel vous souhaitez supprimer la clé primaire et appuyez sur l’option Mode Conception.
  • Appuyez sur le sélecteur de ligne actuel pour la dernière clé primaire.
  • Si la clé primaire contient un seul champ, cliquez sur le sélecteur de ligne de ce champ.
  • Mais s’il se compose de plusieurs champs, appuyez sur le sélecteur de ligne pour n’importe quel champ de la clé primaire.
  • Allez maintenant dans l’onglet Conception dans le groupe Outils et cliquez sur l’option Clé primaire.

modifications que vous avez demandées à la table n’ont pas abouti

Après avoir effectué cette procédure complète, vous verrez que l’indicateur de clé est supprimé du ou des champs que vous avez précédemment spécifiés comme clé primaire.

Pour ajouter une clé primaire à numérotation automatique

Lorsqu’un utilisateur crée une nouvelle table dans la vue feuille de données, Access crée par défaut une clé primaire pour vous et lui attribue le type de données AutoNumber.

  Si vous disposez d’une table existante à laquelle vous souhaitez ajouter un champ de clé primaire, ouvrez-la en mode conception :

  • Accédez au volet de navigation et faites un clic droit sur la table à laquelle vous souhaitez ajouter la clé primaire, puis cliquez sur la vue Conception.
  • Localisez maintenant la première ligne vide dans la grille de conception du tableau.
  • Dans la colonne Nom du champ, attribuez un nom.
  • Dans la colonne Type de données, appuyez sur la flèche déroulante et appuyez sur l’option NuméroAuto.

modifications que vous avez demandées à la table n’ont pas abouti

  • Dans les propriétés du champ, dans Nouvelles valeurs, cliquez sur l’option Incrément pour utiliser des valeurs numériques incrémentielles pour la clé primaire, ou cliquez sur Aléatoire pour utiliser des nombres aléatoires.

Vous souhaiterez peut-être voir les index de la table pour évaluer leur impact sur les performances ou pour vous assurer que des champs particuliers sont indexés.

Lisez aussi: Correction de l’erreur “Votre base de données Microsoft Access contient une référence brisée manquante”

Solution 4- Réparer le fichier de base de données

Vous pouvez même être confronté à l’erreur “Les modifications que vous avez demandées à la table n’ont pas abouti car elles créeraient une valeur en double” en raison d’une corruption ou d’un fichier de base de données de grande taille. Dans un tel cas, à l’aide de la fonctionnalité Compacter et réparer d’Access, vous pouvez compacter et réparer le fichier de base de données corrompu.

Suivez les étapes ci-dessous:

  • Application en libre accès.
  • Cliquez sur la page Modèles >> Base de données vierge.
  • Allez dans le fichier >> cliquez sur Fermer.
  • Ensuite, accédez aux outils de base de données >> cliquez sur la base de données Compacter et réparer.

modifications que vous avez demandées à la table n’ont pas abouti

  • Choisissez la base de données concernée dans les fenêtres ouvertes.
  • Choisissez une option compacte.
  • Désormais, le fichier de base de données compacté et réparé sera enregistré au même emplacement où le fichier d’origine est enregistré.

Solution 5 – Et si les manuels échouent?

Si l’erreur Access 3022 s’est produite en raison d’une grave corruption de la base de données, optez pour l’option Access Réparation Outil. Il s’agit d’un programme influent qui est suffisamment capable de réparer les fichiers de base de données gravement corrompus (.ACCDB/.MDB).

De plus, vous pouvez même télécharger la version démo gratuite du logiciel pour analyser un fichier corrompu et prévisualiser les données récupérables.

* En cliquant sur le bouton Télécharger ci-dessus et en installant Stellar Repair for Access (14.8 MB), je reconnais avoir lu et accepté le contrat de licence utilisateur final et la politique de confidentialité de ce site.

Étapes pour résoudre la corruption de la base de données d’accès

access-shot-fr-1
access-select-database-fr-2
access-repairing-fr-3
access-repairing-completed-fr-4
access-preview-fr-5
access-save-location-fr-6
access-saving-fr-7
previous arrow
next arrow

Conclure:

Espérons que tous les correctifs mentionnés ci-dessus vous aideront à résoudre cette erreur d’exécution 3022 de MS Access. Après avoir utilisé ces correctifs, partagez vos opinions sur nos comptes sociaux comme Twitter.

rencontrez toujours des problèmes? Fix les avec Stellar réparation pour Access:

Ce logiciel assure la réparation et la récupération en toute transparence de la base de données ACCDB et MDB. Il restaure tous les objets, y compris les tables, les rapports, les requêtes, les enregistrements, les formulaires et les index ainsi que les modules, les macros, etc. Fix problèmes de Microsoft Access maintenant en 3 étapes faciles:

  1. Télécharger Stellar Access base de données réparation outil évalué Excellent sur Cnet.
  2. Cliquez sur l'option Parcourir et Rechercher pour localiser la base de données Access corrompue.
  3. Cliquez sur le bouton Réparer pour réparer et prévisualiser les objets de la base de données.

Pearson Willey est un rédacteur de contenu de site Web et un planificateur de contenu détaillé. En plus de cela, il est également un lecteur assidu. Par conséquent il sait très bien rédiger un contenu engageant pour les lecteurs. Lécriture est pour lui un avantage croissant. Il amours explorer ses connaissances on MS Access et partage technologie blogs.