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 :

[Requête]Concaténation de 3 champs dans une table


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut [Requête]Concaténation de 3 champs dans une table
    Bonjour à tous,

    Comment faire pour concaténer 3 champs dans une table. Je voudrais avoir le résultat dans un 4 ième champs ? ex. champ1 : numéro d'employé (numérique, unique), champ2 : Prénom (texte) et champ3 Nom (texte). Le résultat sera déposé dans le champ4 (texte ou memo). Est-ce que ca ce fait ou si non, avez vous une solution ?

  2. #2
    seb92400
    Invité(e)
    Par défaut
    Il n'y a en général pas uin grand interet à stocker dans un champ des valeurs calculées ou des valeurs concaténées...

    Si tu stockes ces valeurs dans un seul champ, tu obtiens des données en double... Par contre, tu peux les afficher dans une seule zone de texte dans un état ou un formulaire...

  3. #3
    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
     
    select ("nom: " & champ1 & " prénom:" & champ2 ) as monchamp fom matable;

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par noawsen
    Il n'y a en général pas uin grand interet à stocker dans un champ des valeurs calculées ou des valeurs concaténées...

    Si tu stockes ces valeurs dans un seul champ, tu obtiens des données en double... Par contre, tu peux les afficher dans une seule zone de texte dans un état ou un formulaire...
    Afficher dans une seule zone de texte dans un état ou un formulaire est la meilleur solution pour moi. Comment fait-on ?

  5. #5
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Bonjour,

    Soit dans la requête avec la solution de random

    Soit dans la source de la zone de texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[prenom] & " " & [Nom]

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Tofalu
    Bonjour,

    Soit dans la requête avec la solution de random

    Soit dans la source de la zone de texte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[prenom] & " " & [Nom]
    j'ai placer ce code comme source dans une zone de texte:

    =tbl_employes!Prenom & " " & tbl_employes!Nom_Famille

    Ca ne marche pas ! J'obtient "#Nom ?" comme message.

  7. #7
    Membre chevronné Avatar de Renardo
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 648
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 648
    Points : 2 019
    Points
    2 019
    Par défaut
    Et comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =[tbl_employes]![Prenom] & " " & [tbl_employes]![Nom_Famille]

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut
    Laissez moi expliquer le défis que j'ai avec cette BD. Dans une table "employés" j'ai les information des employés soit un champ #employé, Prénom et Nom. Dans une autres table "gestion du temps" je dois entrer les temps des employés pour chaque opération. Dans un champ de cette dernière table je veux pouvoir sélectionner dans un liste déroulante un employé. Est-ce que quelqu'un aurait un solution ?

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Crée simplement une liste déroulante dans un formulaire l'assistant d'Access va te guider pas à pas pour créer la liste dont tu as besoin.

    A+

  10. #10
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonsoir à tous,

    Pour commencer, je vais tenter quand même de répondre aux questions posées dans ton premier post.
    Citation Envoyé par egg3774
    Comment faire pour concaténer 3 champs dans une table. Je voudrais avoir le résultat dans un 4 ième champs ? ex. champ1 : numéro d'employé (numérique, unique), champ2 : Prénom (texte) et champ3 Nom (texte). Le résultat sera déposé dans le champ4 (texte ou memo). Est-ce que ca ce fait ou si non, avez vous une solution ?
    Je suppose que les champs que te énumérais se trouvent dans la même table. Dans ce cas, une requête mise à jour règlera l'affaire.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE Table SET Table.champ4=Table.champ1 & " " & Table.champ2 & " " & Table.champ3;

    A ta question "Est-ce que ca ce fait...?", je réponds cela dépend de ce que tu veux en faire: oui et non.

    Maintenant, lors de ton dernier post, tous s'éclaire mieux: tu as deux tables. Puis-je supposer que tes deux tables sont liées? Mais qu'à cela ne tienne! Toutefois, dans ta table gestion du temps, il faut qu'il y ait un champ relatif au champ identifiant l'employé de manière unique dans la table employé: cela afin d'éviter toute rebondance. Au niveau de ce champ, tu peux créer une liste de choix (zone de liste déroulante).
    Origine source: Table/Requête
    Contenu: la requête SQL ci-dessous
    Colonne liée: 1 (la première)
    Nb colonnes: 2
    Largeur colonne: 0cm (pour masquer la première colonne qui est lié [contenant les références des employés])

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT employé.RéfEmployé, employé.Nom & " " & employé.Prénom As NomPrénom
    FROM employé
    ORDER BY employé.Nom & " " & employé.Prénom;

    Si tu as compris, cela devrait faire l'affaire.

    Bon courage et @+

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 167
    Points : 79
    Points
    79
    Par défaut
    Citation Envoyé par Mahefasoa
    Bonsoir à tous,

    Pour commencer, je vais tenter quand même de répondre aux questions posées dans ton premier post.


    Je suppose que les champs que te énumérais se trouvent dans la même table. Dans ce cas, une requête mise à jour règlera l'affaire.
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE Table SET Table.champ4=Table.champ1 & " " & Table.champ2 & " " & Table.champ3;

    A ta question "Est-ce que ca ce fait...?", je réponds cela dépend de ce que tu veux en faire: oui et non.

    Maintenant, lors de ton dernier post, tous s'éclaire mieux: tu as deux tables. Puis-je supposer que tes deux tables sont liées? Mais qu'à cela ne tienne! Toutefois, dans ta table gestion du temps, il faut qu'il y ait un champ relatif au champ identifiant l'employé de manière unique dans la table employé: cela afin d'éviter toute rebondance. Au niveau de ce champ, tu peux créer une liste de choix (zone de liste déroulante).
    Origine source: Table/Requête
    Contenu: la requête SQL ci-dessous
    Colonne liée: 1 (la première)
    Nb colonnes: 2
    Largeur colonne: 0cm (pour masquer la première colonne qui est lié [contenant les références des employés])

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT employé.RéfEmployé, employé.Nom & " " & employé.Prénom As NomPrénom
    FROM employé
    ORDER BY employé.Nom & " " & employé.Prénom;

    Si tu as compris, cela devrait faire l'affaire.

    Bon courage et @+
    Excellent !!!! Tu as bien compris. Ca fonctionne très bien.

    Merci pour votre aide.

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

Discussions similaires

  1. Concaténer deux champs dans une table
    Par Yamina62 dans le forum Modélisation
    Réponses: 4
    Dernier message: 30/09/2013, 14h11
  2. Réponses: 5
    Dernier message: 10/02/2010, 14h11
  3. affecter les resultats d'une requête à un champs dans une table
    Par benoist.cardinal dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 05/09/2008, 21h00
  4. requêter deux fois le même champ dans une table
    Par SpaceFrog dans le forum Requêtes
    Réponses: 6
    Dernier message: 26/11/2007, 13h44
  5. Ordre des champs dans une table
    Par patapetz dans le forum Outils
    Réponses: 5
    Dernier message: 30/07/2003, 06h53

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