Les mémos

Fermer Tables

Fermer Requêtes

Fermer Formulaires

Fermer Etats

Fermer Modules

Fermer Base

Fermer Automation

Fermer Administration

Fermer Registre

Fermer String

Fermer Email CDO

Fermer Outlook

Fermer Net

Fermer Dates - Heures

Fermer Fichiers

Fermer Références

Fermer Vrac

Je débute...

Fermer La normalisation

Fermer VBA

Attention
Aucun support
par émail !

Utilisez le forum pour les questions/réponses concernant MsAccess et les codes que vous trouverez sur ce site.
Visites

   visiteurs

   visiteurs en ligne

String - Critères sans accents

Critères insensibles aux Accents

 

Dans une requête, pour englober toutes les accentuations possibles d'un critère :
 

SELECT LeTexte FROM LaTable

WHERE LeTexte Like MatchAccents([Critère ?]) & "*";

 

Le critère "aero" ou "aéro" saisit par exemple dans cette requête paramétrée permet de retourner en une seule fois les valeurs "aèronef", "aéroplane", "aerodrome"

 

Option Compare Database

Option Explicit

Private Const ReplA = "[aàáâãäåÄ]"

Private Const ReplC = "[cç]"

Private Const ReplE = "[eéèëê]"

Private Const ReplI = "[iìíîï]"

Private Const ReplN = "[nñ]"

Private Const ReplO = "[oòóôõö]"

Private Const ReplU = "[uùúûü]"

Private Const ReplY = "[yýÿ]"

 

Public Function MatchAccents(ByVal Chaine As String) As String

Dim Position As Integer

For Position = Len(Chaine) To 1 Step -1

Select Case Mid(Chaine, Position, 1)

Case "a", "à", "á", "â", "ã", "ä", "å", "Ä"

Chaine = Left(Chaine, Position - 1) & ReplA & Mid(Chaine, Position + 1)

Case "c", "ç"

Chaine = Left(Chaine, Position - 1) & ReplC & Mid(Chaine, Position + 1)

Case "e", "é", "è", "ë", "ê"

Chaine = Left(Chaine, Position - 1) & ReplE & Mid(Chaine, Position + 1)

Case "i", "ì", "í", "î", "ï"

Chaine = Left(Chaine, Position - 1) & ReplI & Mid(Chaine, Position + 1)

Case "n", "ñ"

Chaine = Left(Chaine, Position - 1) & ReplN & Mid(Chaine, Position + 1)

Case "o", "ò", "ó", "ô", "õ", "ö"

Chaine = Left(Chaine, Position - 1) & ReplO & Mid(Chaine, Position + 1)

Case "u", "ù", "ú", "û", "ü"

Chaine = Left(Chaine, Position - 1) & ReplU & Mid(Chaine, Position + 1)

Case "y", "ý", "ÿ"

Chaine = Left(Chaine, Position - 1) & ReplY & Mid(Chaine, Position + 1)

End Select

Next Position

 

MatchAccents = Chaine

 

End Function

 


Date de création : 25/10/2005 : 04:21
Dernière modification : 08/02/2010 : 01:59
Catégorie : String
Page lue 5322 fois


Imprimer l'article Imprimer l'article

Recherche



Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
Captcha
Recopier le code :
Au sujet de l'auteur
L'auteur qui fréquente (fréquentait) le forum microsoft.public.fr.access a eu le plaisir d'être nommé MVP Office-Access de janvier 2003 à décembre 2011.

Qui sont les MVP ?

Divers ;-)
Nous contacter

Haut