Séparer en 3 lignes une adresse postale

Le
Raphaël - I. FIMAC
Bonjour à tous,

Quelqu'un a t-il une idée pour séparée en 3 lignes d'adresses bien
distinctes une adresse postale type :

Ce que j'ai actuellement :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
BAT 10
Apt 123
champ 4 : 31000
champ 5 : TOULOUSE

ce que je veux obtenir :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
champ 4 : BAT 10
champ 5 : Apt 123
champ 6 : 31000
champ 7 : TOULOUSE

J'arrive bien à extraire la première ligne avec la requête suivante :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Left([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),[TiersAdresse1Ligne])
AS Adr1Mais je galère comme un dingue pour la ligne d'adresse 2 et 3, si
quelqu'un a une idée, elle est la bien venu.

PS : J'ai le reste de mon adresse (c'est à dire ligne 2 et ligne 3 sans la
ligne 1) avec cette requête :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Mid([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),"")Merci.
Raph
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
Fabien
Le #6607731
Bonjour à tous,

Quelqu'un a t-il une idée pour séparée en 3 lignes d'adresses bien
distinctes une adresse postale type :

Ce que j'ai actuellement :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
BAT 10
Apt 123
champ 4 : 31000
champ 5 : TOULOUSE

ce que je veux obtenir :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
champ 4 : BAT 10
champ 5 : Apt 123
champ 6 : 31000
champ 7 : TOULOUSE

J'arrive bien à extraire la première ligne avec la requête suivante :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Left([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),[TiersAdresse1Ligne])
AS Adr1Mais je galère comme un dingue pour la ligne d'adresse 2 et 3, si
quelqu'un a une idée, elle est la bien venu.

PS : J'ai le reste de mon adresse (c'est à dire ligne 2 et ligne 3 sans la
ligne 1) avec cette requête :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Mid([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),"")Merci.
Raph


Salut,

sous reserve ..
Creer une petite fonction
Public function Extrait_adresse(Adresse as string,Num as integer) as string
Dim Montab as variant
Montab = split(Adresse,Chr(13))
Extrait_Adresse=MonTab(Num)
End func

Avec quelques améliorations pour les cas d'erreur.
Ensuite dans ta requete tu fait appel a cette fonction par un
Adresse1:Extrait_adresse([TiersAdresse],1)

@+

Gloops
Le #6608861
Bonjour,

La réponse de Fabien est la bonne, pour fractionner un champ selon un
caractère (le retour en début de ligne).

Après, tu fais comme tu veux, mais tant que c'est La Poste qui distribu e
le courrier, une adresse, ça se présente sur six lignes plus le pays,
chacune des lignes étant affectée à une partie précise de l'adres se.

Enfin il est vrai que leur argument, quand ils ont dit ça, c'était
"adresse bien présentée, courrier vite distribué", et qu'on aurait envie
de demander "et maintenant ?" - enfin ça, on ne le gèrera pas sous Ac cess.

http://fr.wikipedia.org/wiki/Adresse_postale

(j'ai regardé, et j'ai vu que ce n'était pas du tout un hasard si
wikipedia est bien mieux référencé que La Poste sur cette question)
_________________________________________________
Raphaël - I. FIMAC a écrit, le 13/05/2008 14:28 :
Bonjour à tous,

Quelqu'un a t-il une idée pour séparée en 3 lignes d'adresses bie n
distinctes une adresse postale type :

Ce que j'ai actuellement :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
BAT 10
Apt 123
champ 4 : 31000
champ 5 : TOULOUSE

ce que je veux obtenir :
champ 1 : DUPONT
champ 2 : JEAN
champ 3 : 5 rue de l'hers
champ 4 : BAT 10
champ 5 : Apt 123
champ 6 : 31000
champ 7 : TOULOUSE

J'arrive bien à extraire la première ligne avec la requête suivan te :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Left([TiersAdresse1Ligne], InStr(1,[TiersAdresse1Ligne],Chr(13))),[TiersAdresse1Ligne])
AS Adr1Mais je galère comme un dingue pour la ligne d'adresse 2 et 3, si
quelqu'un a une idée, elle est la bien venu.

PS : J'ai le reste de mon adresse (c'est à dire ligne 2 et ligne 3 sa ns la
ligne 1) avec cette requête :


Code :
IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Mid([TiersAdresse1Ligne],I nStr(1,[TiersAdresse1Ligne],Chr(13))),"")Merci.
Raph




Publicité
Poster une réponse
Anonyme