Traitement des espaces dans une chaîne de caractères

Le
Dom
Bonsoir,

Environnement XP SP2 + AC97

Dans une table contenant un seul champ de type texte (formaté en 255
caractères maxi), j'ai toujours un seul enregistrement (exemple ci-dessous).

C O M M U N E D E L A R O C H E - S U R - F O R O N

Dans le libellé ci-dessus (hérité d'une autre application), il y a un espace
entre chaque lettre d'un mot et trois entre chaque mot, sauf dans le cas du
tiret où il y en a deux (un de chaque côté du tiret).

Ce que je souhaite obtenir, c'est ceci :

COMMUNE DE LA ROCHE-SUR-FORON

Auriez-vous une solution ou un début de piste ? Les fonctions Ltrim, Rtrim,
ou Trim ne permettent pas d'obtenir le résultat escompté.

Merci d'avance et longue vie au forum.

Dominique.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #6363411
Salut,

"Dom"
| Environnement XP SP2 + AC97
|
| Dans une table contenant un seul champ de type texte (formaté en 255
| caractères maxi), j'ai toujours un seul enregistrement (exemple ci-dessous).
|
| C O M M U N E D E L A R O C H E - S U R - F O R O N
|
| Dans le libellé ci-dessus (hérité d'une autre application), il y a un espace
| entre chaque lettre d'un mot et trois entre chaque mot, sauf dans le cas du
| tiret où il y en a deux (un de chaque côté du tiret).
|
| Ce que je souhaite obtenir, c'est ceci :
|
| COMMUNE DE LA ROCHE-SUR-FORON
|
| Auriez-vous une solution ou un début de piste ? Les fonctions Ltrim, Rtrim,
| ou Trim ne permettent pas d'obtenir le résultat escompté.


[LeChamp] = replace(replace(replace([LeChamp]," ","---")," ",""),"---"," ")


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Dom
Le #6363401
Merci pour ta réponse

En fouinant sur ton site, j'ai trouvé l'alternative à replace.

freplace(freplace(freplace([NomDuChamp];" ";"---");" ";"");"---";" ")

J'ai juste remplacé les virgules de ton code par des points-virgules.

Et cela fonctionne pile-poil !

Dieu est grand, et Pierre est son prophète :-))))

Merci encore.

Dominique.



La fonction
"3stone"
Salut,

"Dom"
| Environnement XP SP2 + AC97
|
| Dans une table contenant un seul champ de type texte (formaté en 255
| caractères maxi), j'ai toujours un seul enregistrement (exemple
ci-dessous).
|
| C O M M U N E D E L A R O C H E - S U R - F O R O N
|
| Dans le libellé ci-dessus (hérité d'une autre application), il y a un
espace
| entre chaque lettre d'un mot et trois entre chaque mot, sauf dans le
cas du
| tiret où il y en a deux (un de chaque côté du tiret).
|
| Ce que je souhaite obtenir, c'est ceci :
|
| COMMUNE DE LA ROCHE-SUR-FORON
|
| Auriez-vous une solution ou un début de piste ? Les fonctions Ltrim,
Rtrim,
| ou Trim ne permettent pas d'obtenir le résultat escompté.


[LeChamp] = replace(replace(replace([LeChamp]," ","---")," ",""),"---","
")


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Publicité
Poster une réponse
Anonyme