Problème avec l'opérateur "Like"

Résolu/Fermé
Tessel75 - 18 avril 2022 à 15:30
 Tessel75 - 18 avril 2022 à 17:47
Bonjour,
Comme dit dans le titre j'ai une difficulté avec l'opérateur "Like"
Au début, j'avais entré ce "Like" dans une recherche de type Dmax(a,b,c) posée sur la condition, en 3ème partie de la fonction. Mais chaque fois il bloque, alors que la condition existe dans ma table.
Aussi j'ai cherché à contourner le problème en passant par une requête simple. Et là je me rends compte que l'opérateur "Like" reste désespérément inopérant.
Il s'agit d'une liste de films avec différents champs dont le titre.
Ma sélection avec DMax(() est écrite ==> DM = DMax("idfilm", "T_Films", "[Titre] like Forms!BdDemNom0!NomRecherche")
La requête dont je parle, est écrite : ==> SELECT T_Films.Titre FROM T_Films WHERE (((T_Films.Titre) Like "*hier*")) ORDER BY T_Films.Titre;

La chose étrange pour moi est que, quand je rentre ma condition en mode "Création" , Access le mot "Like" est immédiatement changé en "Alike".
Donc ma question est double :: Access a-t-il changé définitivement le mot "Like" en "Alike" ? Mais ni la recherche DMax() ni la requête ne ramène quoique ce soit.
Et sinon comment faire pour parvenir à résoudre mon problème?
Je vous remercie pour vos réponses?

Configuration: Windows / Firefox 99.0

3 réponses

jee pee Messages postés 40609 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 janvier 2025 9 470
18 avril 2022 à 16:01
Bonjour,

Je n'utilise pas Access mais cette indication "la syntaxe ci-dessus change si vous avez activé l'ANSI 92 dans Access (le Like devient ALike et le "*" devient "%")." pourrait jouer aussi sur *hier*

http://www.sciences.ch/dwnldbl/divers/MSAccess.pdf
0
Merci pour cette réponse. Le problème est alors que je ne suis pas vraiment un Kador en langage informatique, même si je maitrise bien Access.
Aussi je vous demanderai ce qu'est ANSI 92 , parce que si c'est bien de cela qu'il s'agit, je l'aurais fait par inadvertance, ou bien il se serait activé tout seul. Dans ce cas comment s'y prendre pour revenir en arrière?
En attendant, je vais essayer de remplacer les "*" par "%" , et je verrai le résultat. Je vous tiens au courant.
Encore Merci.
0
Bon ! Alors effectivement la requête fonctionne bien avec Alike et les "%" à la place des "*".
Cela étant acquis, comment pourrais-je désactiver ce fichu "ANSI 92" que je n'ai jamais demandé.
Merci
0
jee pee Messages postés 40609 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 janvier 2025 9 470 > Tessel75
18 avril 2022 à 17:11
"que je n'ai jamais demandé. " cela doit être la valeur par défaut,
0
jee pee Messages postés 40609 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 1 janvier 2025 9 470
18 avril 2022 à 17:10
ANSI 92 est une norme du langage SQL

celà semble s'activer au niveau de chaque base Access, et dans les paramètres par défaut pour une nouvelle base : https://documentation.help/MS-Office-Access-2003/SetANSISQLQueryMode.htm
0
Un grand Bravo, et un immense Merci à toi.
J'ai bien retrouvé une case à coché "ANSI 92" dans les paramètres de la base en question. Et celle-ci était bien cochée active.
Pour le reste, après plusieurs tests, j'ai pu mettre à jour, une possibilité que j'ignorais totalement (Je pratique tout de même Access depuis plus de 20ans) qui est qu'on peut écrire indifféremment "Like" avec les "*" , ou bien Alike avec les "%" . Cela à la condition que la fameuse case à cocher soit inactive, sinon il faut bien écrire : Alike avec les "%" .
Je m'endormirai ce soir en étant moins ignorant.
Merci. Je passe en résolue.
0