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

 1237876 visiteurs

 24 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 7456 fois

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