Requete SQL - Ignorer les accents

Résolu
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017 - 22 juil. 2008 à 10:33
 Utilisateur anonyme - 22 oct. 2008 à 16:48
Bonjour,

   J'ai une base DAO qui contient entr'autres deux champs au format Memo. Le premier contient du texte avec accents et le second le même texte sans les accents.
 
   Pour effectuer une recherche j'utilise donc les deux zones avec un argument qui contient ou ne contient pas d'accent. 

   Cette technique ne me convient pas. Il existe peut être une méthode plus simple qui pourrait s'appliquer directement sur l'ordre SQL ? 

Avez vous la solution à ce problème

Par avance merci.

7 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 juil. 2008 à 07:10
Dans Access, je tapes :

SELECT * FROM Table1 WHERE Raison LIKE '*G?n?ral*'

c'est Ok.

je viens d'avoir une idée, me basant sur les RegExp...
une solution qui me plait davantage :

SELECT * FROM Table1 WHERE Raison LIKE '*G[eé]n[eé]ral*'
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 juil. 2008 à 11:02
tu peux faire un like :

sCriteria = "Lycée général Sanchez"
sCriteria = Replace(sCriteria, "é", "?")
sCriteria = Replace(sCriteria, "è", "?")
sSQL = "SELECT ... WHERE `Raison` LIKE '" & sCriteria & "' "

trouvera Lycée, LYCEE, etc
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
22 juil. 2008 à 14:31
   Si je remplace les caractères accentués par des ? je perds de la clareté dans l'affichage de ce texte. Le texte, représente une raison sociale et ne tolére pas à l'affichage son altération par des ? 

   Si le texte contient                                             "Lycée général Sanchez"    
   La recherche ne pourra se faire par exemple que sur  "général"
   une recherche sans accent sur                                       "general" sera infructueuse

J'ai peut être mal compris ce que tu me proposes

Merci pour ta réponse
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 juil. 2008 à 14:37
oui, je ne parle pas d'alterer l'affichage... juste la chaine recherchée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
22 juil. 2008 à 18:24
J'ai essayé en remplaçant dans la recherche Sql les accents par "?" mais ça ne marche pas.

Exemple:   j'ai 3 lignes dans ma table:

1)      "Lycée général Sanchez"   2 accents
2)      "Lycée géneral Sanchez"   1 accent
3)      "Lycée general Sanchez"   Pas d'accent

Déjà, en écrivant   -->   Select * from ...... where Champ Like  "%G?n?ral%"   Rien n'est sélectionné 
Idem avec              -->   Select * From ..... where Champ Like  "G?n?ral"          Rien n'est sélectionné                             
J'ai dû écrire          --> Select * from ...... where Champ Like  "%G_n_ral%"   Je sélectionne alors les lignes 1 et 2
En écrivant:           -->   Select * from ...... where Champ Like  "%General%"   Je ne sélectionne que la ligne 3

J'ai peut être mal compris ce que tu me proposes ?

Ps:  Peut-être rien à voir mais ma base est en DAO 3.5.1

 
0
Cjvg Messages postés 330 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 26 octobre 2017
23 juil. 2008 à 10:06
Bravo !

   Je ne dirais qu'un mot: Excellent

Tu devrais publier un article sur le sujet. Beaucoup de personnes ont été confrontés à ce problème.

Merci encore pour ton support
0
Utilisateur anonyme
22 oct. 2008 à 16:48
Excellentissime, même. Un immense merci !
0
Rejoignez-nous