IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Séparer en 3 ligne une adresse postale


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Séparer en 3 ligne une adresse postale
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Left([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),[TiersAdresse1Ligne]) AS Adr1
    Mais 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    IIf(InStr(1,[TiersAdresse1Ligne],Chr(13))<>0,Mid([TiersAdresse1Ligne],InStr(1,[TiersAdresse1Ligne],Chr(13))),"")
    Merci.
    Raph

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Cela ne m'étonne pas que tu galères comme un dingue.

    Ayant travaillé sur des fichiers d'adresses de tout type dans le passé, je peux te dire que ce que tu demandes est une horreur.

    Le libellé des adresses en France a une telle diversité que le fait d'établir une règle est quasiment impossible.

    Les logiciels qui peuvent faire cela (qui sont trés chers) comportent une base de donnée mise à jour régulièrement qui travaillent par comparaison pour structurer une adresse.

    Starec

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    si tes lignes sont séparées par chr(13) c'est plus simple...

    Il faut tout d'abord créer une fonction dans un module standard de la base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Public Function CoupeAdresse(vAdr As Variant, byPart As Byte, sSep As String) As String
       On Error Resume Next
       CoupeAdresse = Split(vAdr, sSep)(byPart - 1)
    End Function
    ensuite, dans ta requete tu appelles la fonction.
    Pour scinder l'adresse en 3 champs (en mode SQL) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    CoupeAdresse([TiersAdresse1Ligne],1,Chr(13)),
    CoupeAdresse([TiersAdresse1Ligne],2,Chr(13)),
    CoupeAdresse([TiersAdresse1Ligne],3,Chr(13))
    ...
    Je me demande si le séprateur n'est pas plutôt CHR(13)&CHR(10) ?

    Philippe

Discussions similaires

  1. Géocodage inversé pour retrouver une adresse postale
    Par philben dans le forum Contribuez
    Réponses: 0
    Dernier message: 24/12/2010, 14h58
  2. Regex sur une adresse postale
    Par benthebest dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 08/10/2010, 09h08
  3. [Google Maps] Géolocaliser une adresse postale avec l'API V3
    Par LeonCosnyd dans le forum APIs Google
    Réponses: 0
    Dernier message: 21/09/2010, 14h36
  4. Comment découper une adresse postale en plusieurs parties
    Par arnaudperfect dans le forum Langage
    Réponses: 12
    Dernier message: 18/08/2008, 23h31
  5. Réponses: 5
    Dernier message: 26/12/2007, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo