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 :

Requête concaténage sous Access


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Requête concaténage sous Access
    Bonjour,
    Voici ma question :
    J'ai 2 champs : ref image et mots clés
    ref image mots clés
    000001 atmosphères
    000001 automnes
    000001 bouteilles
    000001 choux
    000001 choux-fleurs
    000001 clairs-obscurs


    Je voudrais faire une requête pour obtenir la table suivante :
    PHOTOREF mots clés
    000001 Atmosphères, automnes, bouteilles, choux,…

    Merci de votre aide

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    La réponse se trouve dans les sources Access : Concaténer plusieurs enregistrements dans une seule colonne

    Si tu n'arrives pas à mettre en oeuvre la solution, donne nous le nom exact de ta table, ainsi que le nom exact des champs.

    A+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci, c'est exactement la requête que je dois exécuter.
    Je vais reprendre point par point les éléments (pour comprendre) et adapter par la suite à mes data.
    Voici ce que j’ai fait :
    J’ai crée une table Tbl_projet avec 2 champs : Projet (en numérique ?) et NomParticipant (en texte ?)
    J’ai ouvert un module ou j’ai copié le code (faut il lui donner un nom?).
    J’ai crée une requête avec les données de RO1 dans l’exemple.
    Quand je lance la requête :
    Erreur de compilation (type défini par l’utilisateur non défini)
    res As DAO.Recordset en gras

    J’ai une table de départ. Me faut il une table d’arrivée ? le script l’a crée t il automatiquement ?

    Si j’arrive à comprendre la mécanique, je pourrais l’appliquer à mon cas.

    Merci de votre aide.

  4. #4
    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
    sous la fenêtre code
    outils référence ajouter dao

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    en mode requête? ou en mode module?
    J'ai essayé les 2 et je n'ai pas vu la fenêtre code.

    Il s'agit peut etre d'une fonction de base d'access. Mais là, je l'avoue, je suis perdu.
    Cordialement,

  6. #6
    Membre actif Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Points : 293
    Points
    293
    Par défaut
    Tu accèdes à la fenêtre code avec Alt+F11

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    ok, merci. Cela marche bien. sauf...
    Comment faire pour changer le premier champ de numérique à texte.
    Quand je modifie le type de données, j'obtiens le message suivant à l'exécution de la requête : erreur d'exe'3464' type de données incompatible dans l'expression du critère
    Il pointe dans le code sur : Set res = CurrentDb.OpenRecordset(SQL)

    Merci

  8. #8
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonjour,

    sur la base du code de la faq, voici le code pour un champ Projet de type texte.
    Les lignes modifiées sont la première et la cinquième.
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Public Function RecupParticipant(Projet As String) As String
    Dim res As DAO.Recordset
    Dim SQL As String
    'Selectionne les participant du projet
    SQL = "SELECT NomParticipant FROM Tbl_Projet WHERE Projet='" & Projet & "'"
    Set res = CurrentDb.OpenRecordset(SQL)
    'Concatene les différents enregistrement
    While Not res.EOF
    RecupParticipant = RecupParticipant & res.Fields(0).Value & " "
    res.MoveNext
    Wend
    'Enleve le dernier espace
    RecupParticipant = Left(RecupParticipant, Len(RecupParticipant) - 1)
    'libere la mémoire
    Set res = Nothing
    End Function

    Si on veut éviter des doublons sur NomParticipant, remplacer la cinquième ligne par
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "SELECT DISTINCT NomParticipant FROM Tbl_Projet WHERE Projet='" & Projet & "'"

    A+

Discussions similaires

  1. Requête paramétrée sous Access 2000
    Par mbokmahop dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 07/12/2007, 14h30
  2. pagination avec des requêtes sql sous access
    Par zalalus dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/11/2007, 23h14
  3. Requête délicate sous Access 2eme partie
    Par Cracat dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 10/07/2007, 19h51
  4. requêtes imbriquées sous Access
    Par Smix007 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 19/06/2007, 14h37
  5. requête sql sous access
    Par jadey dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/08/2006, 21h20

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