Correction base de données clients

Le
Hawk
Bonjour,

Une base de données mal développé, c'est à dire aucun masque de saisie
!
Resultat : dans les champs tel, tel2, mobil1 et mobil2
les téléphones sont saisis n'importe comment
soit XX.XX.XX.XX.XX soit XX/XX/XX/XX/XX soit XXXXXXXXXX soit XX XX XX
XX XX soit XX/XX/XX/XX/XX/XX-XX-XX-XX-XX
Parfois il y a plusieurs n°s dans le champs ou des séparateurs
différentsou des n°s de mobil dans les tel fixes.
J'aimerais me connecter sur la base via access puis faire une routine,
pour supprimer tous les ".", "/", "-", "espace" et mettre tous les n°s
en 06 dans les champs mobil et faire le tri dans les champs qui
contiennent plusieurs n°s
bien sur quand il y a plusieurs n°s, il peut y avoir un mobil et un
fixe mais pas toujours dans le bon ordre !!!

Si vous pouviez me donner une info sur comment proceder

Merci
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
Philippe TROTIN [MS]
Le #11865691
Bonjour,

Il faut utiliser la fonction REPLACE() et gérer les différents cas.

UPDATE MaTable SET MonChanmp = REPLACE(MonChamp, '/', '')


Cordialement
_______________________________

Philippe TROTIN
Microsoft Services France
_______________________________

"Hawk"
Bonjour,

Une base de données mal développé, c'est à dire aucun masque de saisie
!
Resultat : dans les champs tel, tel2, mobil1 et mobil2
les téléphones sont saisis n'importe comment
soit XX.XX.XX.XX.XX soit XX/XX/XX/XX/XX soit XXXXXXXXXX soit XX XX XX
XX XX soit XX/XX/XX/XX/XX/XX-XX-XX-XX-XX
Parfois il y a plusieurs n°s dans le champs ou des séparateurs
différentsou des n°s de mobil dans les tel fixes.
J'aimerais me connecter sur la base via access puis faire une routine,
pour supprimer tous les ".", "/", "-", "espace" et mettre tous les n°s
en 06 dans les champs mobil et faire le tri dans les champs qui
contiennent plusieurs n°s
bien sur quand il y a plusieurs n°s, il peut y avoir un mobil et un
fixe mais pas toujours dans le bon ordre !!!

Si vous pouviez me donner une info sur comment proceder

Merci


Fred BROUARD
Le #11865621
CREATE FUNCTION F_RESTRICT (@IN VARCHAR (8000),
@CHARSOK VARCHAR(256))
RETURNS VARCHAR (8000)
AS
BEGIN
-- effets de bord
IF @IN IS NULL
RETURN NULL
IF @CHARSOK IS NULL
RETURN NULL
IF LEN(@IN) = 0
RETURN @IN
-- initialisation
DECLARE @I INTEGER
DECLARE @OUT VARCHAR(8000)
SET @OUT = ''
-- lecture caractère par caractère
SET @I =1
WHILE @I <= LEN(@IN)
BEGIN
IF PATINDEX('%' + SUBSTRING(@IN, @I, 1)+ '%', @CHARSOK) > 0
SET @OUT = @OUT + SUBSTRING(@IN, @I, 1)
SET @I = @I + 1
END
RETURN @OUT
END

Utilisez cette fonction dans un UPDATE avec dans CHAROK les seuls
caractères numériques de 0 à 9.

EXEMPLE :

SELECT dbo.F_RESTRICT ('33~1 14.54.45.21', '0123456789')

=> 33114544521


A +


Hawk a écrit :
Bonjour,

Une base de données mal développé, c'est à dire aucun masque de saisie
!
Resultat : dans les champs tel, tel2, mobil1 et mobil2
les téléphones sont saisis n'importe comment
soit XX.XX.XX.XX.XX soit XX/XX/XX/XX/XX soit XXXXXXXXXX soit XX XX XX
XX XX soit XX/XX/XX/XX/XX/XX-XX-XX-XX-XX
Parfois il y a plusieurs n°s dans le champs ou des séparateurs
différentsou des n°s de mobil dans les tel fixes.
J'aimerais me connecter sur la base via access puis faire une routine,
pour supprimer tous les ".", "/", "-", "espace" et mettre tous les n°s
en 06 dans les champs mobil et faire le tri dans les champs qui
contiennent plusieurs n°s
bien sur quand il y a plusieurs n°s, il peut y avoir un mobil et un
fixe mais pas toujours dans le bon ordre !!!

Si vous pouviez me donner une info sur comment proceder

Merci




--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Pierre Goiffon
Le #11865581
Hawk wrote:
Une base de données mal développé, c'est à dire aucun masque de saisie
!
Resultat : dans les champs tel, tel2, mobil1 et mobil2
les téléphones sont saisis n'importe comment
soit XX.XX.XX.XX.XX soit XX/XX/XX/XX/XX soit XXXXXXXXXX soit XX XX XX
XX XX soit XX/XX/XX/XX/XX/XX-XX-XX-XX-XX
Parfois il y a plusieurs n°s dans le champs ou des séparateurs
différentsou des n°s de mobil dans les tel fixes.
J'aimerais me connecter sur la base via access puis faire une routine,
pour supprimer tous les ".", "/", "-", "espace" et mettre tous les n°s
en 06 dans les champs mobil et faire le tri dans les champs qui
contiennent plusieurs n°s
bien sur quand il y a plusieurs n°s, il peut y avoir un mobil et un
fixe mais pas toujours dans le bon ordre !!!

Si vous pouviez me donner une info sur comment proceder



En T-SQL on peut faire pas mal de choses comme on vous l'a déjà répondu.
Mais ça ne suffit pas toujours... Si vous êtes un peu coincé, alors il
faut appeler des expressions rationnelles, soit en développant un petit
script maison (Perl, WSH en VBs ou JS, ...) soit en utilisant des
transformations DTS avec Active Script.
Rudi Bruchez
Le #11865571
Bonjour,


Pierre Goiffon a écrit:
Mais ça ne suffit pas toujours... Si vous êtes un peu coincé, alors il
faut appeler des expressions rationnelles, soit en développant un petit



Ça fait plaisir de voir encore des gens qui utilisent la traduction
française correcte : "expression rationnelle". Merci pour ça.

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT
http://www.babaluga.com/
http://rudi.developpez.com/
SQLpro
Le #11865441
On 29 nov, 12:13, Rudi Bruchez
Bonjour,

Pierre Goiffon a écrit:

> Mais ça ne suffit pas toujours... Si vous êtes un peu coincé, alor s il
> faut appeler des expressions rationnelles, soit en développant un peti t

Ça fait plaisir de voir encore des gens qui utilisent la traduction
française correcte : "expression rationnelle". Merci pour ça.



Rudi, enfin... Un peu de sérieux ! Rapelle toi que tu es suisse... Pas
français ! ;-)


--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCThttp://www.babaluga.com/http://ru di.developpez.com/


Publicité
Poster une réponse
Anonyme