43 votes

Accéder à VBA | Comment remplacer des parties d'une chaîne par une autre chaîne

J'essaie de créer un morceau de code qui remplace un mot par un autre. Exemple : remplacez Avenue par Ave et North par N. J'utilise MS Access, je pourrais utiliser la fonction SQL REPLACE mais je souhaite le faire dans VBA à l'aide du module Access afin de pouvoir attacher la fonction à une autre colonne.

Je ne sais pas par où commencer, donc toute contribution sera grandement appréciée.

Mec

64voto

Mitch Wheat Points 169614

Utiliser la fonction VBA d'AccessReplace(text, find, replacement) :

 Dim result As String

result = Replace("Some sentence containing Avenue in it.", "Avenue", "Ave")

2voto

Matt Donnan Points 4745

Vous pouvez également utiliser une fonction similaire à celle-ci, cela vous permettrait d'ajouter dans différents cas où vous souhaitez modifier les valeurs :

 Public Function strReplace(varValue As Variant) as Variant

    Select Case varValue

        Case "Avenue"
            strReplace = "Ave"

        Case "North"
            strReplace = "N"

        Case Else
            strReplace = varValue

    End Select

End Function

Ensuite, votre SQL lirait quelque chose comme :

 SELECT strReplace(Address) As Add FROM Tablename

2voto

BiggerDon Points 11

Étant donné que la chaîne "Nord" peut être le début d'un nom de rue, par exemple "Northern Boulevard", les directions des rues sont toujours comprises entre le numéro et le nom de la rue, et séparées du numéro et du nom de la rue.

 Public Function strReplace(varValue As Variant) as Variant

Select Case varValue

    Case "Avenue"
        strReplace = "Ave"

    Case " North "
        strReplace = " N "

    Case Else
        strReplace = varValue

End Select

End Function

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X