En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés. Mentions légales.

Recherche

Recherche

Les mémos

Je débute...

Visites

 1225041 visiteurs

 11 visiteurs en ligne

Nous contacter

Contact

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"

'/
'/ A placer dans la section déclarative
'/
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


Catégorie : Les mémos - String
Page lue 7379 fois

Vous êtes ici :   Accueil » Critères sans accents