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 :

Extraire le dernier mot d'un champ


Sujet :

Requêtes et SQL.

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Extraire le dernier mot d'un champ
    Bonjour à tous,

    Je souhaite faire une requette afin de mettre à jour un champ à partir d'un autre en copiant le dernier mot d'un champ.

    J'ai fait des recherches et j'ai pu trouver quelques fonctions à utiliser comme Droite, mais mon champ n'est pas fixe et je souhaite prendre la partie du champ qui se situe après le dernier espace et ce jusqu'à la fin (le nombre d'espace étant variable voire nul).

    Merci pour votre aide.

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    La fonction InstrRev() renvoie la position d'un caractère en partant de la fin d'une chaine.

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Nickel, merci pour la réponse rapide.
    Je suis sous Access 2007 et j'ai vu la fonction DansChaine et pas d'inverse qui elle est indiquée à InStrRev.
    Merci beaucoup

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour à tous,

    J'ai parlé un peu vite, car je rencontre encore quelques soucis avec cette opération.

    J'ai une table contenant des noms de adresses, l'idée étant de faire un regroupement par commune et par nom de voie.
    Jusque là pas de soucis suf quand je veux ajouter à ma requete un champ contenant l'extraction du dernier mot, là j'ai un message m'indiquant "Type de données incompatibles dans l'expression du critère"

    Alors voila ma formule utilisée

    MOTDIREC: Droite([SIRENE]![LIBVOIE];(NbCar([SIRENE]![LIBVOIE])-InStrRev([SIRENE]![LIBVOIE];" ")))


    Et une impression écran de ma table

    Merci pour votre aide, je ne vois pas ce qui cloche.
    Images attachées Images attachées  

  5. #5
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Je pense que l'erreur vient de cette partie. Le séparateur est une virgule et non pas un point-virgule.

    InStrRev([SIRENE]![LIBVOIE]," ")
    Tu nous dis ?

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse PC75, mais ce n'est pas cela.
    Quand je remplace mon ";" par "," j'ai une erreur de syntaxe, et quand j'insère la fonction via le générateur d'expression, la syntaxe est indiquée avec un ";".

  7. #7
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Passe en mode SQL et remplace par ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Right([SIRENE]![LIBVOIE],(Len([SIRENE]![LIBVOIE])-InStrRev([SIRENE]![LIBVOIE]," ")))

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide.
    J'ai remplacé mon expression dans le mode SQL par ce que tu m'as indiqué, et j'ai toujours le même message d'erreur concernant l'erreur de type dans l'expression.
    J'ai chunté le problème en créant une table intermédiaire contenant l'extraction et le champ à extraire que je lie à la table finale, mais ça n'est vraiment pas propre d'autant plus que je ne comprend pas où est le soucis

  9. #9
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Peux-tu vérifier ce que donne ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MsgBox Len([SIRENE]![LIBVOIE])
    MsgBox InStrRev([SIRENE]![LIBVOIE]," ")

Discussions similaires

  1. Réponses: 17
    Dernier message: 24/04/2016, 23h20
  2. Extraire dernier mot de chaque ligne d'une strophe
    Par Spencer86 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 29/03/2014, 23h04
  3. Extraire le premier ou le dernier mot d'une cellule
    Par thanmirt dans le forum Deski
    Réponses: 12
    Dernier message: 19/12/2012, 16h16
  4. Extraire le dernier mot d'une chaîne en bash
    Par oranoutan dans le forum Linux
    Réponses: 2
    Dernier message: 16/05/2010, 22h47
  5. extraire le dernier mot de chaque ligne
    Par bezoindaidde dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 28/03/2007, 07h47

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