Comment corriger l’erreur 3183 – “The query cannot be completed” dans MS Access ?
Résumé: L'erreur 3183 - The query cannot be completed in MS Access peut se produire lorsque l'application ne peut pas lire la requête que vous essayez d'exécuter. Ce blog résume les causes de cette erreur et fournit quelques méthodes efficaces pour la résoudre. Il mentionne également un outil avancé de récupération de données Access que vous pouvez utiliser pour réparer la base de données si la requête ne peut pas être exécutée en raison d'une corruption de la base de données.
Les requêtes VBA sont utilisées pour interagir avec la base de données Access. Vous pouvez utiliser ces requêtes pour effectuer diverses opérations, par exemple sélectionner, récupérer, manipuler ou insérer des données dans les fichiers de la base de données Access. Des erreurs peuvent parfois se produire lors de l’utilisation de requêtes VBA. L’erreur 3183 “The query cannot be completed” est l’une des erreurs VBA. Si ce message d’erreur apparaît à l’écran, votre application risque de se bloquer lors de l’exécution des projets VBA, ce qui interrompra votre travail. Nous vous présentons ci-dessous quelques méthodes simples et efficaces pour résoudre cette erreur. Mais avant de résoudre cette erreur, il convient d’en comprendre les causes.
Pourquoi l’erreur d’accès “The query cannot be completed” se produit-elle ?
L’erreur 3183 – “The query cannot be completed” peut se produire lors de l’utilisation du code VBA dans Access. Elle peut se produire lors de l’importation ou de l’exportation d’un fichier de base de données vers ou depuis une autre base de données, par exemple une base de données SQL. Elle peut également se produire si la taille du résultat de la requête dépasse la capacité maximale d’un fichier de base de données (2 Go) ou si l’espace de stockage temporaire sur le disque dur de votre système est insuffisant pour enregistrer le résultat de la requête. L’erreur peut également se produire si vous utilisez des colonnes de consultation dans Access pour afficher des valeurs provenant d’une table connexe. Elle se produit généralement lorsqu’un fichier de base de données contient de nombreuses tables avec des relations multiples.
Vous trouverez ci-dessous d’autres causes de l’erreur :
- Si des requêtes ou des macros sont endommagées.
- Paramètres incorrects pour la macro d’accès.
- Si vous utilisez des requêtes complexes comprenant plusieurs tables, des jointures, etc.
- Vous ne disposez pas des autorisations nécessaires pour accéder à la table à laquelle vos requêtes font référence.
- Noms de champs manquants ou incorrects ou autres erreurs de syntaxe dans les requêtes SQL.
- Les relations ne sont pas définies correctement dans les tables ou les requêtes.
- Types de données SQL Server incompatibles dans le code.
Méthodes de résolution de l’erreur “The query cannot be completed” dans MS Access
L’erreur 3183 peut se produire s’il y a des incohérences entre les types de données Access et les types de données SQL dans les requêtes. Elle se produit généralement lorsque votre base de données contient des requêtes qui nécessitent la conversion de données d’un type à un autre. Veillez donc à utiliser des types de données Access compatibles avec les types de données SQL. Vous pouvez comparer les types de données Access et SQL Server pour résoudre le problème du type de données dans la requête. Si l’erreur persiste, suivez les méthodes ci-dessous.
Méthode 1 : Vérifier et ajuster les paramètres de la macro d’accès
L’erreur 3183 – “The query cannot be completed” dans Access peut être due à des paramètres de macro désactivés. Vous pouvez essayer de modifier les paramètres des macros pour résoudre l’erreur. Voici la marche à suivre :
- Ouvrez le fichier de base de données souhaité.
- Allez dans Fichier > Options.
- Dans les options d’accès, cliquez sur Centre de confiance, puis sur Paramètres du Centre de confiance.
- Dans la fenêtre du Centre de confiance, sélectionnez l’option Paramètres de macro, puis cochez les options sous Paramètres de macro.
- Sélectionnez l’option “Activer toutes les macros” et cliquez sur OK.
Méthode 2 : Créer une nouvelle base de données
La création d’une nouvelle base de données Access et l’importation de toutes les tables et relations de la base de données d’origine dans cette base de données peuvent aider à résoudre l’erreur 3183. Cette méthode est utile en cas d’incohérences dans la base de données. Voici les étapes à suivre :
- Dans Microsoft Access, allez dans Fichier, cliquez sur l’option Nouveau et cliquez sur Base de données vide.
- Donnez un nom à la base de données et enregistrez-la.
- Cliquez ensuite sur l’option Données externes dans la nouvelle base de données, puis sur Accès.
- Accédez au bureau où se trouve la base de données souhaitée et sélectionnez-la.
- Sélectionnez l’option “Importer des tables, des requêtes, des formulaires, des rapports, des macros et des modules dans la base de données actuelle“. Cliquez sur OK.
- Dans la fenêtre Importer des objets, sélectionnez les objets individuels (requêtes, macros, etc.) que vous souhaitez importer ou cliquez sur l’option Sélectionner tout. Cliquez ensuite sur OK.
Après avoir importé tous les objets, recréez toutes les requêtes. Vérifiez maintenant si le problème a été résolu. Si ce n’est pas le cas, suivez la méthode suivante.
Méthode 3 : Optimiser la capacité de la base de données
MS Access soutient les fichiers de base de données d’une capacité maximale de 2 Go. Un fichier de base de données qui dépasse la capacité maximale de 2 Go peut entraîner l’affichage du message suivant: “La requête ne peut pas être terminée. Soit la taille du résultat de la requête est supérieure à la capacité maximale d’une base de données (2 Go), soit il n’y a pas assez d’espace de stockage temporaire sur le disque dur pour enregistrer le résultat de la requête”. Vous pouvez gérer le fichier de base de données surdimensionné pour résoudre le problème. Assurez-vous également que le disque sur lequel se trouve votre base de données dispose d’un espace de stockage suffisant.
Méthode 4 : Vérifier les autorisations de la base de données
L’erreur 3183 peut parfois se produire si vous essayez de créer des requêtes dans une base de données pour laquelle vous ne disposez pas d’autorisations suffisantes. Vous pouvez vérifier et modifier les autorisations de la base de données pour résoudre ce problème.
Méthode 5 : vérifiez les requêtes dans le code VBA
Vous pouvez également recevoir l’erreur Access 3183 – “The query cannot be completed” s’il y a un problème avec le code VBA que vous essayez d’exécuter. Même une petite erreur dans les expressions ou les instructions SQL peut causer un problème. Vous pouvez vérifier la syntaxe des requêtes et des champs de référence de la requête et essayer de les corriger (s’il y a un problème).
Méthode 6 : Compression et réparation de votre base de données
L’erreur “The query cannot complete query” peut se produire si la capacité de la base de données est trop importante ou si la base de données est endommagée. Dans ce cas, vous pouvez utiliser l’utilitaire intégré de Microsoft – Compress and Repair pour compresser et réparer la base de données. Pour utiliser cet utilitaire, procédez comme suit :
- Assurez-vous d’abord que le fichier de la base de données concernée n’est pas ouvert.
- Ouvrez ensuite votre application Access. Sur la page Modèles, cliquez sur Base de données vide.
- Cliquez sur Fichier, puis sélectionnez Fermer.
- Cliquez sur Outils de base de données > Compacter et réparer la base de données.
- Dans la fenêtre “Base de données à compresser”, faites défiler vers le bas pour sélectionner la base de données que vous souhaitez compresser et réparer. Cliquez sur Compresser.
La base de données compressée et réparée est enregistrée exactement au même bureau que le fichier de base de données original.
L’outil de compression et de réparation peut échouer si le fichier de base de données est gravement endommagé Dans une telle situation, vous pouvez utiliser des outils de réparation Access tels que Stellar Repair for Access. Cet outil est spécialement conçu pour réparer les fichiers ACCDB/MDB gravement endommagés. L’outil extrait les registres, tables, modules, requêtes, macros et autres composants du fichier de base de données endommagé et les enregistre dans un nouveau fichier de base de données avec une précision et une intégrité absolues. Vous pouvez télécharger la version démo du logiciel pour prévisualiser les données récupérables dans le fichier de base de données corrompu. Le logiciel est compatible avec toutes les éditions de Windows, y compris la dernière version de Windows 11.
Enfin
L’erreur 3183 – “The query cannot be completed” dans Access peut se produire en raison de requêtes erronées ou corrompues, de bases de données volumineuses, etc. Vous pouvez essayer les méthodes ci-dessus pour résoudre l’erreur. Si la base de données est corrompue, vous pouvez la réparer en quelques clics à l’aide de Stellar Repair for Access. Il s’agit d’un outil avancé doté d’une interface conviviale qui vous permet de récupérer toutes les données du fichier de base de données Access corrompu sans modifier le format d’origine.