ACCESS => enlever des espaces dans un champs

Fermé
nathalie - 24 janv. 2008 à 10:33
michelhoude Messages postés 45 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 10 février 2010 - 27 janv. 2008 à 01:44
Bonjour,

J'ai un petit soucis qui à mon avis n'est pas bien méchan c'est pour ca que je fais appel à vos lumières !

J'ai une table clients dans laquel j'ai un champs nom et dans ce champs nom, je me retrouve avec des "Nom Prenom".

je souhaiterai supprimer les 2 espaces entre le nom et le prénom et le remplacer par un seul espace. Y'a t'il possibilité de le faire par une requete simple au lieu que je me fasse les 600 lignes une à une ?????

merci pour votre aide !
A voir également:

2 réponses

michelhoude Messages postés 45 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 10 février 2010 11
27 janv. 2008 à 01:32
Bonjour

Créer un module et écrivez le code suivant
c'est une fonction


Function enleve_blanc(mot As String)
Dim x, s, compte_blanc As Integer
Dim ch As String
compte_blanc = 0


For x = 1 To Len(mot)
If Mid(mot, x, 1) = " " Then s = x
compte_blanc = compte_blanc + 1
Next x

MsgBox (compte_blanc)
If compte_blanc = 1 Then
enleve_blanc = mot
Exit Function
End If

ch = ""

For x = 1 To Len(mot)
If x <> s Then ch = ch + Mid(mot, x, 1)
Next x


enleve_blanc = ch


End Function


créer la requête suivante



UPDATE CLIENTS SET NOM=enleve_blanc(NOM)



Attention EXECUTER LA REQUÊTE UNE SEULE FOIS CAR À CHAQUE APPEL DE LA FONCTION, UNE ESPACE
BLANC EST EFFACÉE

DANS LA FONCTION, J'AI MIS UN COMPTEUR compte_blanc POUR ÉVITER DE TOUT EFFACER LES BLANCS, MAIS JE NE SUIS PAS CERTAIN SI ÇA FONCTIONNE. POUR PLUS DE SÉCURITÉ, FAITES UNE COPIE DE LA TABLE

Cordialement
Michel Houde
0
michelhoude Messages postés 45 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 10 février 2010 11
27 janv. 2008 à 01:44
Bonjour, c'est encore moi, voici le code de la fonction corrigé.

Il y avait une erreur dans le message précédent

Le compteur (compte_blanc) vous assure que il y aura toujours un espace entre le prénom et le nom quelque soit le nombre de fois que vous exécuterez la requête



Function enleve_blanc(mot As String)
Dim x, s, compte_blanc As Integer
Dim ch As String
compte_blanc = 0


For x = 1 To Len(mot)
If Mid(mot, x, 1) = " " Then
s = x
compte_blanc = compte_blanc + 1
End If
Next x


If compte_blanc = 1 Then
enleve_blanc = mot
Exit Function
End If

ch = ""

For x = 1 To Len(mot)
If x <> s Then ch = ch + Mid(mot, x, 1)
Next x


enleve_blanc = ch


End Function

Cordialement
Michel Houde
0