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

Access Discussion :

concaténer 2 champs, mais sur 2 lignes [AC-2003]


Sujet :

Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut concaténer 2 champs, mais sur 2 lignes
    Bonjour,
    Je cherche depuis 2 heures comment concatener 2 champs d'une table dans un seul champs mais sur deux lignes. J'ai besoin de le faire dans une requête.

    Mon but est que le champs [adresse] et le champs [Localité] se retrouve l'un sous l'autre dans un autre champs. c'est à dire j'ai besoin d'un retour de chariot entre ces deux entrés pour avoir :

    rue de la gare
    Lausanne

    Je sais concaténer des champs dans
    [adresse] & " " & [localité] AS toute_adresse
    mais là j'ai le résultat sur la même ligne.

    J'ai trouvé la fonction CONCAT( ) mais ça ne fonctionne visiblement pas ou ne sais peut-être pas la mettre en oeuvre :-(

    Je n'utilise pas de VBA dans ma base de donnée car ne connais pas.

    Pouvez vous me dire comment je dois procéder avec le générateur de requête ou avec une instruction SQL.

    Merci d'avance, car là je sèche vraiment.

  2. #2
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Points : 8
    Points
    8
    Par défaut chr$(10)
    Voilà :

    [adresse] & car(13) a car(10) & [localité] AS toute_adresse


    ceci peut-être utilisé dans un champ de requête, de formulaire ou d'état...

  3. #3
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    oups !!!

    little mistake

    Voilà :

    [adresse] & car(13) & car(10) & [localité] AS toute_adresse

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Ben merci beaucoup Christis...

    J'avais trouvé des solutions du style qui ne fonctionnaient bien entendu pas...
    Une fois avec car (10) et une autre fois avec car (13)... mais jamais les deux ensembles !!! MDR !

    Dire que je commencais à m'énerver... la prochaine fois je pose ma question plus tôt ! :-)

    Et juste encore une petite question pour finir, histoire de mieux comprendre l'astuce...

    ça correspond à quoi ces deux éléments que l'on doit rajouter ?

  5. #5
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Le secret est dans les codes ASCII.
    10 saut de ligne
    13 retour chariot
    Le car(10) tout seul ne revient pas à la ligne.
    Ce doit être de vieux héritages des langages d'antan....

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta lumière ! :-)

    Bon, je me pose maintenant une autre question.
    En faite je veux utiliser cette manipulation dans une grand champs qui doit regrouper 2 lignes d'adresses et une ligne pour la localité.

    C'est génial, cela fonctionne bien :

    toute_adresse: [Adresse1] & Car(13) & Car(10) & [Adresse2] & Car(13) & Car(10) & [Localité]

    route des plans
    Chalet Belle vue
    Villars



    Mais lorsque le champs [Adresse2] est vide, j'obtiens ce résultat là :

    Route de plans

    Villars


    Il y a-t-il un moyen de ne pas avoir cette ligne vide ?
    ... aïe aïe aïe... je pense que je vais devoir vraiment apprendre le VBA ;-)

    Merci d'avance si qu'un à une réponse éclairée !
    salutations

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

    Quel est le but de mettre cela dans une requête

    Philippe

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Le but est d'utiliser le contenu de ce champs dans un état.

    J'utilisais auparavent trois champs "Zone de texte".
    Le champs du milieu [Adresse2] était dessiné très fin et j'y avais mis l'option "autoextensible".

    Le problème est que sur ce formlaire-ci il y a d'autre champs (téléphone) à côté de mon adresse... alors lors qu'il s'auto-étend ça me créé un vide vers mes numéros de téléphone

    (j'espère avoir été assez clair)

  9. #9
    Futur Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Comme le sous-entend Philippe, il n'est pas utile de mettre des fonctions complexes dans les requêtes.
    C'est plus pratique de les mettre dans les zones que tu crées dans les états, ou les formulaires.


    Pour ton problème tu peux utiliser la fonction vraifaux()

    [Adresse1] & VraiFaux([Adresse2]<>Null;Car(13) & Car(10) & [Adresse2];"") & Car(13) & Car(10) & [Localité]

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Je n'ai visiblement pas compris le sous-entendu de Philippe, que c'était mieux directement dans mon état. (je suis pas blond, mais presque) ;-)

    Et merci Christis pour cette fonction VRAIFAUX(...;...;...) que je ne connaissais pas dans les requêtes. ça correspond en faîte un "simple" SI dans Excel :-)

    Encore Merci

    Bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] Mettre à jour un champ mais que 1 ligne sur 4
    Par wildsoj dans le forum Excel
    Réponses: 3
    Dernier message: 08/05/2014, 19h20
  2. Réponses: 9
    Dernier message: 11/09/2007, 10h08
  3. Un enumerate, mais sur une ligne
    Par corvin dans le forum Mise en forme
    Réponses: 3
    Dernier message: 29/08/2007, 15h47
  4. 8i : sql loader et champ texte sur plusieurs lignes
    Par naonedboy dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 23/11/2005, 10h07
  5. [jtable] Champs texte sur pls ligne dans cellule
    Par doudine dans le forum Composants
    Réponses: 8
    Dernier message: 17/11/2005, 12h36

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