OVH Cloud OVH Cloud

Accents

5 réponses
Avatar
Warrio
Bonjour

Comment est-ce possible de taper, par ex., dans un champ de recherche "à
Deõri" et trouver dans la base "á Déõri" ?
le but est de ne pas prendre en compte les différent accents pour une
recherche.

Peut-être il existe un moyen plus facile, mais j'ai utiliser une requête qui
remplace toute les lettres accentuées par leur équivalent sans accents des
deux cotés de la clause WHERE d'une query, mais Access me dit que
"Expression too complex in query expression". donc je suppose qu'il permet
seulement 9 ou 10 fonction imbriquée dans une requête.

Voici ce que j'ai essayé de faire...
SELECT * FROM Table1 WHERE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Table1.Field1
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'\',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

LIKE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
"*à Deõri*"
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'\',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

Merci pour toute suggestion.

5 réponses

Avatar
ze_titi
Bonjour,

Va faire un tour à cette adresse, ça devrait répondre à tes attentes !

http://www.3stone.be/access/articles.php?lng=fr&pg€

--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour

Comment est-ce possible de taper, par ex., dans un champ de recherche "à
Deõri" et trouver dans la base "á Déõri" ?
le but est de ne pas prendre en compte les différent accents pour une
recherche.

Peut-être il existe un moyen plus facile, mais j'ai utiliser une requête qui
remplace toute les lettres accentuées par leur équivalent sans accents des
deux cotés de la clause WHERE d'une query, mais Access me dit que
"Expression too complex in query expression". donc je suppose qu'il permet
seulement 9 ou 10 fonction imbriquée dans une requête.

Voici ce que j'ai essayé de faire...
SELECT * FROM Table1 WHERE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Table1.Field1
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

LIKE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
"*à Deõri*"
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

Merci pour toute suggestion.





Avatar
ze_titi
ou plutôt là...

http://www.3stone.be/access/articles.php?lng=fr&pg
--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour

Comment est-ce possible de taper, par ex., dans un champ de recherche "à
Deõri" et trouver dans la base "á Déõri" ?
le but est de ne pas prendre en compte les différent accents pour une
recherche.

Peut-être il existe un moyen plus facile, mais j'ai utiliser une requête qui
remplace toute les lettres accentuées par leur équivalent sans accents des
deux cotés de la clause WHERE d'une query, mais Access me dit que
"Expression too complex in query expression". donc je suppose qu'il permet
seulement 9 ou 10 fonction imbriquée dans une requête.

Voici ce que j'ai essayé de faire...
SELECT * FROM Table1 WHERE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Table1.Field1
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

LIKE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
"*à Deõri*"
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

Merci pour toute suggestion.





Avatar
Warrio
Merci Ze_titi, mais je voulais éviter de passer par du code vba et rester
avec les foctions disponibles dans une query pour une question de
performance.. car je deverais, si je choisi la solution du code, transformer
chaque ligne de ma table puis faire la recherche, donc ca risque de
rallentir ma recherche...

Merci encore!



"ze_titi" <http://www.cerbermail.com/?sj4KuQC4GQ> a écrit dans le message de
news:
ou plutôt là...

http://www.3stone.be/access/articles.php?lng=fr&pg
--
Cordialement,

ze_titi

Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ




Bonjour

Comment est-ce possible de taper, par ex., dans un champ de recherche "à
Deõri" et trouver dans la base "á Déõri" ?
le but est de ne pas prendre en compte les différent accents pour une
recherche.

Peut-être il existe un moyen plus facile, mais j'ai utiliser une requête
qui
remplace toute les lettres accentuées par leur équivalent sans accents
des
deux cotés de la clause WHERE d'une query, mais Access me dit que
"Expression too complex in query expression". donc je suppose qu'il
permet
seulement 9 ou 10 fonction imbriquée dans une requête.

Voici ce que j'ai essayé de faire...
SELECT * FROM Table1 WHERE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Table1.Field1
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

LIKE

Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
"*à Deõri*"
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')

Merci pour toute suggestion.







Avatar
3stone
Salut,

"Warrio"
[...]
| mais je voulais éviter de passer par du code vba et rester
| avec les foctions disponibles dans une query pour une question de
| performance.. car je deverais, si je choisi la solution du code, transformer
| chaque ligne de ma table puis faire la recherche, donc ca risque de
| rallentir ma recherche...


C'est quoi ce délire ?????

Une fonction VBA s'utilise COMME une fonction d'Access !!
Et c'est toujours mieux qu'une horreur de cet acabit !

---
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Table1.Field1
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')
---

Tu décroche me ponpon !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Warrio
Ciao Pierry,

Alors code l'équivalent de la fonction Replace foutnit par Ms avec ton
propre code (rien de compliqué si ce n'est un travail sur une chaine de
caractères) et utilise la sur a la place de mon Replace plus bas.... tu
verra la différence de perf très cher :)


"3stone" a écrit dans le message de news:

Salut,

"Warrio"
[...]
| mais je voulais éviter de passer par du code vba et rester
| avec les foctions disponibles dans une query pour une question de
| performance.. car je deverais, si je choisi la solution du code,
transformer
| chaque ligne de ma table puis faire la recherche, donc ca risque de
| rallentir ma recherche...


C'est quoi ce délire ?????

Une fonction VBA s'utilise COMME une fonction d'Access !!
Et c'est toujours mieux qu'une horreur de cet acabit !

---
Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(
Table1.Field1
,' ','*'),'De ',''),'Del
',''),'-',''),'_',''),'.',''),',',''),'/',''),'',''),'(',''),')',''),"'",""),'à','a'),'ä','a'),'â','a'),'ã','a'),'á','a'),'é','e'),'è','e'),'ë','e'),'ê','e'),'ç','c'),'ï','i'),'î','i'),'ì','i'),'í','i'),'ô','o'),'õ','o'),'ò','o'),'ó','o'),'û','u'),'ù','u'),'ú','u'),'ü','u'),'ñ','n')
---

Tu décroche me ponpon !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/