Rechercher : dans
Par :

ACCESS => enlever des espaces dans un champs

Dernière réponse le 27 jan 2008 à 01:44:16 nathalie, le 24 jan 2008 à 10:33:05 
 Signaler ce message aux modérateurs

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 !

Configuration: Windows XP
Internet Explorer 7.0

Meilleures réponses pour « ACCESS => enlever des espaces dans un champs » dans :
Access 97 sous XP - Mémoire insuffisante VoirProblème Solution Problème Le message "mémoire insuffisante" apparaît lorsque l'on essaie de lancer Access 97 sous Windows XP suite à l'installation d'Access ou du pack Office 97. Ne changez rien à votre configuration matérielle, le...
SQL - Contraintes d'intégrité VoirExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...

1

michelhoude, le 27 jan 2008 à 01:32:14

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

Répondre à michelhoude

2

 michelhoude, le 27 jan 2008 à 01:44:16

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

Répondre à michelhoude