MS Access joindre des problèmes d'expression non pris en charge

Votre base de données Access affiche-t-elle fréquemment le problème de MS Access jointure expression non supporté? De même que la question mentionnée dans le scénario pratique ci-dessous. Alors ce blog va sûrement vous aider à résoudre ce problème particulier “jointure expression non supporté”. Il suffit donc de passer par la poste et d’obtenir les meilleurs correctifs manuels pour le résoudre bientôt.

Scénario pratique

J’écris une requête SQL avec jointure interne comme ceci

select * from (table1 jointure interne table2 sur table1.city = table2.code) jointure interne table3 sur table3.col1 = 5 et table3.col2 = ‘bonjour’

Cela me donne l’erreur ”  jointure  expression non supporté”.

Cependant, si je change la requête comme ceci, il n’y a pas d’erreur

select * from (table1 jointure interne table2 sur table1.city = table2.code) jointure interne table3 sur table3.col1 = [SomeColumn] et table3.col2 = [SomeColumn]

Pourquoi Access me donne-t-il une erreur sur la première requête?

Qu’est-ce qu’une jointure dans Access?

Lorsque vous utilisez plusieurs sources de données dans Requête Access, vous utilisez join pour limiter les enregistrements que vous devez voir, en fonction de la relation entre la source de données. La jointure est également utilisée pour combiner des enregistrements de la source de données, de sorte que chaque paire d’enregistrements de la source devienne des enregistrements dans les résultats de la requête.

Par défaut, l’accès à la connexion est automatiquement créé s’il existe déjà une relation entre deux sources de données utilisées dans une requête.

Joins fonctionne de manière similaire à un critère de requête dans lequel il établit des règles que les données doivent correspondre pour être incluses dans les opérations de requête. Contrairement aux critères, les jointures signifient également que chaque paire de la ligne qui correspond bien à la condition de jointure est combinée dans le jeu d’enregistrements pour former une seule ligne.

Fondamentalement, il existe 4 types de jointures dans Access: les jointures internes, les jointures externes, les jointures croisées et les jointures inégales.

interne jointures vs jointures externes

interne jointures:

Dans cette jointure, seules les données associées sont combinées à partir des deux tables. Cela signifie que dans cette méthode de jointure, Access n’inclut que les données de la table s’il y a des données correspondantes dans la table associée et vice versa. Généralement, lorsque vous créez une jointure sans spécifier le type de jointure, Access le considère comme une jointure interne par défaut.

Ce type de jointure est utile car il vous permet de combiner des données provenant de deux sources en fonction de valeurs partagées. Vous ne pouvez donc voir les données que lorsqu’il y a une image complète.

jointures externes:

Considérant que d’un autre côté, jointure externe, contiennent toutes les données connexes combinées correctement, avec les enregistrements restants d’une table. Cela ressemble beaucoup à la jointure interne, mais ajoute les lignes restantes de l’une des tables.

Les jointures externes sont également directionnelles car elles contiennent l’option de jointure externe gauche et de jointure externe droite.

La jointure externe gauche inclut tous les enregistrements de la table de gauche, par exemple la première table de la jointure, tandis que la jointure externe droite contient tous les enregistrements de la table de droite qui est la deuxième table de la jointure.

Comment vérifier les champs de jointure dans votre requête?

Eh bien, si vous voulez vérifier les types de données du champ dans une requête, jetez un oeil à la table source en mode design et inspectez les propriétés du champ que vous vérifiez.

1.D’abord, vous devez ouvrir la requête en mode Création. Jointures indiquées comme une ligne qui connecte le champ dans les tables source. Pour chaque jointure, notez la table et ses noms de champs.

  1. Dans le volet de navigation, cliquez avec le bouton droit de la souris sur chaque table contenant un ou plusieurs champs joints dans la requête, puis cliquez sur Mode Création.

  • Le cercle numéro 1 indique les champs joints avec différents types de données.
  • Alors que le cercle numéro 2 vous amène à la vue de conception que vous obtenez après un clic droit sur l’option Table.
  1. Pour chaque jointure, effectuez une comparaison des valeurs dans la colonne Type de données de la grille de création de table pour les champs déjà utilisés dans cette jointure.

  • Le cercle numéro 1 indique le type de données des champs joints dans la vue Création de la table.
  1. Donc, pour passer facilement à une table pour voir son champ, cliquez sur l’onglet portant le nom de cette table.

Comment réparer MS Access joindre expression ne pas soutenu Erreur?

Ci-dessous, vous découvrirez les deux principaux problèmes rencontrés dans l’erreur Access ” joindre expression ne pas soutenu” ainsi que ses correctifs. Alors jetez un coup d’œil par dessus:

Problème n ° 1

Ce problème de joindre une expression non prise en charge est rencontré lorsque certains ont franchi la limite de longueur de champ dans la table SQL Server sous-jacente liée à une application Access. L’utilisateur peut l’avoir augmenté à 255 caractères dans lesquels Access le considère comme un texte et un champ Mémo.

Dans des cas particuliers, Access n’autorise pas la fin de la jointure dans une requête à être un champ Mémo.

La solution

Mais les correctifs pour résoudre ce problème sont plus faciles. L’astuce consiste à déplacer la jointure dans la clause WHERE de la requête, comme ceci:

SELECT Table1. *, Table2. * FROM Table1, Table2WHERE (Table1.MemoField = table2.MemoField);

Ceux qui le préfèrent à la vue SQL, voici la même requête dans le générateur de requête:

Parfois Access accèdera à certaines réclamations pendant l’exécution de cette requête qui est logiquement équivalente à celle qui est abhorrée.

Problème n ° 2:

L’erreur “joindre expression ne pas soutenu  Query” se rencontre au moment de l’ouverture d’une requête dans MS Access 2007. Pendant ce temps, l’utilisateur ne peut pas afficher la requête ni modifier la requête pour corriger le problème allégué lorsque la vue de la requête se ferme immédiatement. Cependant, vous pouvez exécuter la requête depuis VBA et exporter également ses résultats vers Excel.

Solution:

Taper ce qui suit:

Debug.Print CurrentDb (). QueryDefs (“YourQueryName”). SQL

Code dans l’éditeur VBA vous aide à voir la définition de requête incorrecte. Vous pouvez définir la propriété SQL sur de nouvelles chaînes afin de remplacer la définition de la requête. Toutefois, en raison d’un bogue dans MS Access lors de l’exécution de JOINS, la requête peut refuser d’être ouverte malgré plusieurs tentatives de réparation.

Eh bien, le problème se pose également lorsque la requête ayant l’expression JOIN les liens deux tables en utilisant plus d’une seule colonne dans chacun d’eux est utilisé. Par exemple:

SELECT a. * À PARTIR D’UN JOINDRE GAUCHE b ON (a.col1 = b.col1 ET b.col2 = ‘valeur’)

Comme Access automatiquement et par défaut tend à enlever les parenthèses de l’expression de jointure, cela mène au message d’erreur mentionné plus haut.

Conclusion:

La publication complète concerne l’expression de jointure Access et son problème connexe. Dans ce post, nous avons discuté des deux principales situations problématiques dans lesquelles l’utilisateur obtient principalement une telle MS Access jointure expression non supporté erreur. Mais ne vous inquiétez pas en essayant les corrections ci-dessous va sûrement résoudre votre problème. Alors, essayez-les et débarrassez-vous facilement de cette MS Access  jointure expression non supporté erreur.



Comment résoudre MS Access joindre des problèmes d’expression non pris en charge dans Access 2010/2013/2016