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

VBA Access Discussion :

Transposition des données d'une table


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Transposition des données d'une table
    Bonjour,

    Voila je rentre une prise de tete qui est peu etre trés simple.
    Je cherche a transposer les données d'une table de la maniére suivante :
    table existante :
    bd ref
    1 A
    1 B
    1 C
    1 D

    table ou resultat requete souhaitée :
    bd ref1 ref2 ref3 ref4 ref5 ref6
    1 A B C D

    Pouvez vous me venir en aide??

    Merci d'avnace

    Alex

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenu sur le Forum Office de DVP.

    Dans nos source nous avons différents types de requêtes, voici le lien http://access.developpez.com/sources/?page=Requete, il s'agit pour la plupart de requêtes d'analyse croisées, elles devraient répondre à ta question.

    Starec

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Merci pour la réponse mais j'avais déja tenté de faire des requete d'analyse croisé mais sans succés..
    N'y a t il pas un autre moyen?

    Merci d'avance

  4. #4
    Membre expérimenté Avatar de bernardmichel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    1 181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 181
    Points : 1 591
    Points
    1 591
    Par défaut
    Hello !

    Je ne comprends pas bien ce que tu cherches à obtenir. Aurais-tu la gentillesse de mettre cela sous forme de tableau (type Excel par exemple) afin que je voies de quoi il s'agit ?

    A +

    Bernard.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 57
    Points : 50
    Points
    50
    Par défaut
    si j'ai bien compris c'est comme dans ma pièce jointe

    ca ressemble effectivement aux requêtes d'analyse croisée, mais je n'ai pas eu plus de succès qu'alex291184... il doit falloir passer par VBA
    Fichiers attachés Fichiers attachés

  6. #6
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,
    Citation Envoyé par 4rn0_o Voir le message
    si j'ai bien compris c'est comme dans ma pièce jointe

    ca ressemble effectivement aux requêtes d'analyse croisée, mais je n'ai pas eu plus de succès qu'alex291184... il doit falloir passer par VBA
    Le VBA peut être une possibilité... mais je n'en vois pas l'utilité si ce n'est pour créer la requête par programmation.

    Je ne vois pas ce qu'il y a de difficile dans la création d'une requête analyse croisée... surtout en mode graphique...

    Ca devrait donner quelque chose comme ça :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM Table1.REF
    SELECT Table1.BD
    FROM Table1
    GROUP BY Table1.BD
    PIVOT Table1.REF;

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2007
    Messages : 57
    Points : 50
    Points
    50
    Par défaut
    cette requête crée une colonne par référence existante. ce que cherche a faire alex291184 correspond à ça mais dans l'autre sens

    en pièce jointe : le résultat de ta requête
    Fichiers attachés Fichiers attachés

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Bonjour,
    j'ai exactement le même problème mais comme le dit 4rno, on crée des colonnes vides.
    il faudrait que
    1 a
    1 b
    2 c

    donne
    1 a b
    2 c

    et non
    1 a b
    2 " " c

    merci pour votre aide.

  9. #9
    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
    en trois requêtes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    SELECT bd, ref
    FROM matable
    GROUP BY bd, ref;
    temp1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT bd,ref, "ref" & DCount("ref","temp1","bd = " & [bd] & " and ref <='" & [ref] & "'") AS col
    FROM temp1;
    temp2


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    TRANSFORM First(ref) AS PremierDeref
    SELECT bd
    FROM temp2
    GROUP BY bd
    PIVOT  col;

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 22
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup,

    Pour moi ca marche, c'était le First du transform que j'avais pas.


  11. #11
    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
    cela fonctionne aussi avec last, min et max

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

Discussions similaires

  1. TRansférer des données d'une table à l'autre
    Par kernel57 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 06/10/2005, 14h05
  2. Réponses: 2
    Dernier message: 15/06/2005, 17h32
  3. SQL - Traiter des données d'une table
    Par david71 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/02/2005, 16h47
  4. concatenation des données d'une table dans une autre
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 04/10/2004, 11h38
  5. Copie des données d'une table d'une base Interbase 6
    Par Djedjeridoo dans le forum InterBase
    Réponses: 6
    Dernier message: 02/02/2004, 09h39

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