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 :

Extraction d'une chaîne pour mise a jour d'un champ


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 16
    Points
    16
    Par défaut Extraction d'une chaîne pour mise a jour d'un champ
    Bonjour

    J'ai un champ "adresse" qui contient un code postal. Par exemple:

    SUNNYBROOK & WOMENS HOSP,2075 BAYVIEW, TORONTO, ON M4N 3M5, CANADA

    Je veux extraire le code postal (ici M4N 3M5) pour le mettre dans un champ "codepostal". Je sais qu'il a la forme [A-Z]#[A-Z] #[A-Z]#[A-Z]
    Donc, comment aller le chercher dans mon champ adresse et le mettre dans codepostal

    Merci

    Martin F

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 354
    Points
    34 354
    Par défaut
    salut,
    si toutes tes adresses sont au même format, tu peux utiliser la fonction Split()
    cela donnera :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Split(adresse,",")(4) As Zip_Code FROM MaTable;
    te retournera "ON M4N 3M5"

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 16
    Points
    16
    Par défaut Malheureusement...
    Malheureusement, mon code postal peut se retrouver n'importe ou dans le champs adresse

    Martin

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 656
    Points : 34 354
    Points
    34 354
    Par défaut
    Dans ce cas là, on ne peut définir de règle de gestion fixe

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Points : 16
    Points
    16
    Par défaut
    J'aurais penser que quelque chose comme "cherche [A-Z]#[A-Z] #[A-Z]#[A-Z] dans adresse et met-le dans codepostal" etait faisable...

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function cp(adresse As String) As String
    Dim boucle As Long
    Dim tempo As String
    For boucle = Len(adresse) - 6 To 1 Step -1
    tempo = (Mid(adresse, boucle, 7))
    If tempo Like "[A-Z]#[A-Z] #[A-Z]#" Then
    cp = tempo
        Exit Function
    End If
    Next boucle
    cp = "ERREUR"
    End Function

    attention une telle fonction peut dans des cas probablement rarissimes produire de faux résultats

Discussions similaires

  1. [AC-2007] Evenement pour mise a jour d'un champ
    Par theuma dans le forum Access
    Réponses: 1
    Dernier message: 20/04/2011, 12h17
  2. Réponses: 8
    Dernier message: 09/01/2007, 17h30
  3. Extraction d'une chaîne de caractère avec SQL
    Par opeo dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 28/07/2006, 16h36
  4. probleme avec des calculs et une requete de mise a jour
    Par el_quincho dans le forum Access
    Réponses: 2
    Dernier message: 16/03/2006, 11h06
  5. Réponses: 5
    Dernier message: 25/11/2005, 13h42

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