Comment corriger l'erreur "Argument non valide" dans MS Access ?


De nombreux utilisateurs d'Access ont signalé que le message d'erreur "Invalid argument" (argument non valide) se produisait lors de l'exécution de diverses tâches dans l'application MS Access. L'erreur peut se produire lors de l'utilisation du code VBA pour importer ou exporter des données d'un fichier de base de données Access vers un projet Access ou vice versa. Elle se produit généralement lorsqu'il y a des problèmes avec les arguments ou les paramètres spécifiés dans les fonctions, les macros, les requêtes ou d'autres objets du code VBA. Cette erreur peut se produire dans les cas suivants :

  • Si vous essayez d'exécuter une requête de mise à jour après avoir mis à jour l'application Access vers une nouvelle version.
  • Si vous utilisez la fonction Import (méthode TransferSpreadsheet) dans le code VBA.
  • Si vous utilisez le gestionnaire de tables liées pour lier des sources de données externes dans Access.
  • Lors de l'exécution de requêtes visant à importer des fichiers de base de données volumineux.

Découvrons maintenant les raisons de cette erreur et les solutions pour y remédier.

Quelle est la raison du message d'erreur "Argument non valide" dans MS Access ?

Il n'y a pas de raison connue à l'erreur "Invalid argument" dans MS Access. L'erreur peut se produire pour l'une des raisons suivantes :

  • Si les types de données spécifiés dans vos tables liées ne correspondent pas aux types de données spécifiés dans les requêtes. (Si votre base de données contient des tables liées).
  • Configuration incorrecte de la table liée.
  • Vos requêtes sont basées sur les bibliothèques externes, qui ne sont pas disponibles.
  • Vous appelez une fonction VBA avec un argument incorrect. Par exemple, vous transmettez une chaîne de texte à une fonction qui attend un nombre.
  • Vous avez transféré par inadvertance les mauvais paramètres ou arguments dans la fonction d'importation (méthode TransferSpreadsheet). 
  • Vous utilisez une requête SQL incomplète dans la base de données.
  • Les tables liées, les requêtes ou d'autres éléments du fichier de base de données sont endommagés.
  • Si vous exécutez des requêtes sur un fichier de base de données volumineux.
  • Des opérateurs ou des expressions incorrects sont utilisés dans les requêtes, par exemple la requête de mise à jour/application.
  • Problèmes avec l'action Macros.
  • Vous avez attribué des valeurs non valides lors de l'initialisation des variables dans le code VBA.
  • Désactive les réglages de la macro.

Méthodes pour résoudre le message d'erreur "Argument non valide" dans MS Access

L'erreur Argument non valide peut se produire si les macro-actions dans les requêtes ont échoué en raison de la désactivation des paramètres de macro. Vérifiez et activez toutes les options de macro dans les paramètres de macro d'accès. Cependant, ces paramètres peuvent rendre votre système vulnérable aux codes malveillants. Si l'erreur persiste après avoir vérifié et activé les paramètres des macros, suivez les méthodes de dépannage ci-dessous.

Méthode 1 : Vérifiez la compatibilité du code VBA avec la version de votre application MS Access

L'erreur "Argument non valide" peut être due à des problèmes de compatibilité entre le code VBA et la version de l'application Microsoft Access. Cela se produit généralement lorsque le code VBA de la base de données a été écrit et développé pour une version inférieure et que vous l'utilisez dans une version supérieure. Par exemple, vous exécutez un code VBA créé avant la sortie d'Office 2010 (VBA version 6 et inférieure) sur une version 64 bits (Office 2019). Vous pouvez revoir et modifier le code pour le rendre compatible avec les versions 32 bits et 64 bits. Voici les étapes à suivre :

  • Dans la base de données Access, cliquez sur Outils de base de données, puis sur l'option Visual Basic.
1_click-database-tools-and-then-visual-basic
  • Cliquez sur le module de base de données souhaité dans l'éditeur VBA.
  • Vérifiez le code VBA et recherchez la déclaration dans laquelle vous avez utilisé les déclarations Declare. Vous pouvez ajouter trois options - PtrSafe, longlong data-type et LongPtr.

Méthode 2 : Création d'une nouvelle base de données backend/tableaux de liaison

NOTE : Cette méthode s'applique aux bases de données partagées et à la base de données avec tables liées.

Certains utilisateurs ont signalé que l'erreur "Argument non valide" se produit dans Access lorsque vous modifiez le bureau de la base de données backend dans Access. Cette erreur se produit lorsque vous essayez de mettre à jour les chemins d'accès aux fichiers à l'aide du gestionnaire de tables liées. Cependant, vous ne pouvez pas modifier le bureau de votre base de données à l'aide du gestionnaire de tables liées. Cet outil est utilisé pour gérer et mettre à jour les liens entre la base de données frontale et la base de données dorsale. Vous pouvez donc relier à nouveau les tables de la base de données pour modifier l'emplacement de stockage de la base de données backend. Voici comment cela fonctionne :

  • Dans la base de données Access concernée, cliquez sur Données externes, puis sur Gestionnaire de tables liées.
2_click-external-data-and-then-click-linked-tables
  • La fenêtre Gestionnaire de tables liées s'affiche. Sélectionnez le fichier contenant les tables liées.
3_click-relink-option-in-linked-table-manager
  • Cliquez sur l'option Reconnecter.
  • Access vous invite à sélectionner un nouveau bureau pour la source de données.
  • Saisissez le bureau correct. Vous pouvez donner un nouveau nom aux tables liées ou conserver le nom existant.
  • Suivez ensuite les instructions qui s'affichent à l'écran.

Vérifiez l'état des colonnes pour voir si les tables liées ont été reliées ou non. Si ce n'est pas le cas, cliquez sur l'option Relier.

Méthode 3 : Vérifier et réduire la capacité du fichier de la base de données

L'erreur "Argument non valide" dans Microsoft Access peut se produire en raison de la capacité du fichier de base de données. Ce problème peut survenir lors de l'importation/exportation de données entre Access et d'autres applications. La capacité du fichier de base de données Access que vous importez ne doit pas dépasser 2 Go. En plus, les registres de données dans le fichier de base de données que vous importez ne doivent pas dépasser la capacité maximale des registres de données, c'est-à-dire 4000. Dans ce cas, vous pouvez fractionner la base de données Access.

Méthode 4 : vérifier et compiler le code VBA

De nombreux utilisateurs d'Access ont signalé qu'ils recevaient le message d'erreur "Argument non valide" lors de l'exécution de la requête "Append", de la requête "Refresh" ou de la fonction "Import". L'erreur peut se produire si vous utilisez des méthodes, des fonctions, des arguments et des paramètres incorrects dans les requêtes. Parfois, une simple faute de frappe peut perturber l'ensemble de la syntaxe utilisée dans le code. Vous pouvez revoir et compiler le code VBA pour vérifier et corriger l'erreur. Procédez comme suit :

  • Cliquez sur Database Tools dans votre fichier Access et sélectionnez Visual Basic.
4_click-database-tools-and-then-click-visual-basic
  • Cliquez sur Debug dans l'éditeur VBA et sélectionnez Compile VBA project.

Cela mettra en évidence la ligne contenant les erreurs, ce qui vous aidera à résoudre les fautes de frappe, les problèmes de syntaxe et d'autres problèmes liés aux variables.

Méthode 5 : Vérifier les références manquantes

Le message d'erreur "Argument non valide" peut parfois apparaître en raison d'une bibliothèque de référence manquante dans Access. Cela se produit généralement lorsque vous exécutez des requêtes qui s'appuient sur la bibliothèque manquante. Vous pouvez vérifier et sélectionner la bibliothèque de référence. Vous trouverez ci-dessous les étapes correspondantes :

  • Dans l'éditeur VBA d'Access, cliquez sur Extras, puis sélectionnez Références.
5_click-tools-and-then-select-references
  • Dans la boîte de dialogue Références, vérifiez les références listées sous Références disponibles et assurez-vous qu'elles sont toutes sélectionnées.
  • Si une référence n'est pas sélectionnée, sélectionnez-la et cliquez sur OK.

Méthode 6 : Compression et réparation de votre base de données

La corruption est également l'une des causes de l'erreur "Argument non valide" dans Access. Vous pouvez compresser et réparer votre fichier de base de données à l'aide de l'outil "Compress and Repair" de MS Access. Procédez comme suit :

  • Assurez-vous d'abord que le fichier de la base de données est fermé.
  • Cliquez ensuite sur la page Modèles de votre application Access, puis sur Base de données vide.
  • Cliquez sur Fichier et sélectionnez Fermer.
  • Cliquez ensuite sur Outils de base de données, puis sélectionnez Compacter et réparer la base de données.
  • Sélectionnez le fichier de base de données concerné dans la boîte de dialogue Base de données à compresser.
  • Cliquez sur l'option Compacter.
  • Vous trouverez la base de données compressée et réparée à l'endroit exact où vous avez enregistré le fichier de base de données.

Si le fichier de base de données Access est gravement endommagé, l'outil risque de ne pas donner les résultats escomptés. Dans ce cas, vous pouvez utiliser un outil de réparation Access tiers fiable. Stellar Repair for Access est l'un de ces outils qui peut réparer les fichiers de base de données Access gravement corrompus. Cet outil peut récupérer toutes les données du fichier .accdb/.mdb corrompu, y compris les requêtes, les macros et les tables. Vous pouvez même vérifier toutes les données réparées avant de les enregistrer.

Fermeture

MS Access peut afficher le message d'erreur "Argument non valide" s'il ne reconnaît pas les requêtes dans le code VBA. Cette erreur peut être due à des paramètres de macro incorrects, à un code VBA incompatible, à des références manquantes, etc. Essayez les solutions décrites ci-dessus pour résoudre l'erreur. L'erreur peut également se produire en raison de requêtes et de macros corrompues dans la base de données. Dans ce cas, vous pouvez utiliser Stellar Repair for Access. Cet outil de réparation avancé peut réparer et remettre les requêtes corrompues dans la base de données Access avec une intégrité complète. 



Was this article helpful?
À propos de l'auteur
author image
Himanshu Shakya

Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

Table des matières

POURQUOI STELLAR® EST LE LEADER MONDIAL

Pourquoi choisir Stellar?
  • 0M+

    CLIENTS

  • 0+

    Des années d'excellence

  • 0+

    INGÉNIEURS R&D

  • 0+

    PAYS

  • 0+

    TÉMOIGNAGES

  • 0+

    RÉCOMPENSES REÇUES