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êtes : Créer un champ avec x lignes


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Requêtes : Créer un champ avec x lignes
    Bonjour,

    Table :

    Id Nom Date Tx
    1 MARTIN 01/05/2006 13.4
    1 MARTIN 02/05/2006 6.5
    1 MARTIN 03/05/2006 7
    1 MARTIN 03/05/2006 8

    Je voudrais faire une requête qui me donne le résultat suivant :

    Id Nom Commentaires
    1 MARTIN 01/05/2006 13.4 - 02/05/2006 6.5 - 03/05/2006 7 - 03/05/2006 8

    (1 seul champ commentaires par Id quelque soit le nb d'enregistrements par Id)

    Merci pour votre aide

  2. #2
    Membre éclairé Avatar de ft035580
    Profil pro
    Inscrit en
    Août 2004
    Messages
    689
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 689
    Points : 812
    Points
    812
    Par défaut
    Salut,

    Décidemment BleuCiel tu auras été assidü(e) au Forum ce week-end.

    Le forum est un génial outil mais il serait bon que tu essaies de réfléchir par toi même.
    Exemple:Tu as commencé quelque chose et dès que ça bloque tu nous en fais part.

    Actuellement,j'ai l'impression que tu nous soumets ton "truc"(=problème) et tu attends la réponse (CE N'EST PAS LE PRINCIPE !!!!!)

    =>Inscription hier 27/05/06 et 4 discussions ouvertes (sur le même sujet).
    Un petit effort

    Cordialement.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Effectivement j'ai été assidue ce WE.
    Je débute sur Access et avant de poster sur ce forum j'ai passé une semaine à rechercher Ds des livres et sur tous les forums, faq les réponses à mes différentes questions et je ne suis pas du genre à poster dès que ça bloque, je préfère trouver par moi-même, j'ai réalisé plusieurs requêtes mais sur celle-ci je bloque, tu m'as beaucoup aidé si tu regrettes, tant pis!

    Cordialement

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Slt,

    Sans VBA je ne connais pas de truc pour faire ça.
    (Que quelqu'un m'arrête si je me trompe)

    Je le ferais donc avec une fonction en VBA, du style :
    Code : 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
    17
    18
    19
    20
    21
    22
    Public Function ConcateneCommentaire(pId As Long) As String
        Dim ldb As DAO.Database
        Dim lrs As DAO.Recordset
        ' Base courante
        Set ldb = CurrentDb
        ' Jeu d'enregistrements ayant le même Id
        Set lrs = ldb.OpenRecordset("select * from TaTable where id = " & pId)
        If lrs.RecordCount > 0 Then
            lrs.MoveFirst
            ' Concatenate les informations
            While Not lrs.EOF
                ConcateneCommentaire = ConcateneCommentaire & lrs!Date & " " & lrs!tx & " - "
                lrs.MoveNext
            Wend
            ' Retire le dernier " - "
            ConcateneCommentaire = Left(ConcateneCommentaire, Len(ConcateneCommentaire) - 3)
        End If
        ' Ferme les objets DAO
        lrs.Close
        Set lrs = Nothing
        Set ldb = Nothing
    End Function
    (c'est vite fait mais ça devrait marcher)

    Pour les explications sur DAO et les objets recordset il y a un tutoriel :
    http://warin.developpez.com/access/dao/

    Et la requête devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT TaTable.Id, TaTable.Nom, ConcateneCommentaire([Id]) AS Commentaire
    FROM TaTable;
    (L'ID étant unique et de type numérique.)

Discussions similaires

  1. [Toutes versions] Requête sur deux champs avec doublons.
    Par RKU01 dans le forum Access
    Réponses: 2
    Dernier message: 22/07/2009, 12h19
  2. Est-il possible de créer des tables avec des lignes identiques ?
    Par raton_laveur dans le forum Développement
    Réponses: 2
    Dernier message: 25/05/2009, 09h10
  3. Réponses: 6
    Dernier message: 04/02/2009, 11h21
  4. Créer un état avec des lignes vides
    Par sarmad354 dans le forum IHM
    Réponses: 1
    Dernier message: 25/11/2007, 18h56
  5. Requête sur plusieurs champs avec LIKE
    Par zestrellita dans le forum Langage SQL
    Réponses: 4
    Dernier message: 23/04/2007, 14h58

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