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.
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