Récupérer dans Excel les données d'un requête Access utilisant l'opérateur Comme
Question :
- Une requête fonctionnant parfaitement dans Access ne renvoie rien dans Excel en dehors de la ligne de titres.
Solution :
- Access et Excel n'utilisent pas la même syntaxe SQL :
- Access utilise par défaut la norme ANSI89 et
- Excel la norme ANSI92, comme SQL Server.
- L'opérateur Comme (like) utilise un caractère générique différent selon la version SQL.
De ce fait Comme "440*" qui fonctionne parfaitement dans Access n'est pas correctement interprété par Excel qui, lui,
utilise Comme "440%"
- Pour résoudre cela plusieurs solutions existent :
- remplacer l'opérateur Comme par un autre
filtre : ici on peut utiliser Gauche([Champ];3)="440"
-
doubler le filtre : Comme "440*" OU Comme "440%" afin d'être compatible avec Access et Excel
-
modifier les options d'Access pour rendre la base, ou toutes les bases futures, compatibles ANSI92.
Cependant cette option ayant des incidences sur la syntaxe
de toutes les requêtes, nous lui préférons la seconde.