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 :

transposer une table. comment faire ?


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut transposer une table. comment faire ?
    Bonjour à tous !

    j'espère que quelqu'un pourra m'aider !
    voilà, j'ai une table, formée de cette façon

    Num_piece carac1 carac2 carac3 carac4 carac5 carac6 etc...

    A34423 oui 12,3 43 aaa blabla
    B33289 oui 32 0 aei 12,8
    B35673 xyz -- etc...
    C99832

    j'ai besoin de mettre ces données dans un sous etat (avec comme champs-fils Num_piece)
    MAIS il faudrait que ça apparaissent comme ça :
    Etat basé sur num_piece A34423

    carac1 oui
    carac2 12,3
    carac3 43
    carac4 aaa
    carac6 blabla
    etc...

    ( la colonne 5 ne doit pas apparaitre, puisque vide)
    or, avec un sous-etat basé sur une requete simple, je peux aligner facilement les champs l'un sous l'autre, mais je suis obligée de faire apparaitre tous les champs
    donc la solution serait que je puisse transposer dynamiquement toute ma table pour qu'elle soit dans la bonne forme, et que j'affiche simplement ma requete dans l'etat.. mais il faut que je puisse toujours lier le sous-etat à l'etat sur le num_piece...

    Je suis un peu dans l'impasse..
    si quelqu'un a une idée pour moi, je suis preneuse, et je vous remercie d'avance !

  2. #2
    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
    tu peux le jouer ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT [num piéce], "carac1" as lib,carac1 as rep FROM matable
    union all
    SELECT [num piéce], "carac2", carac2 as rep FROM matable
    union all 
    SELECT [num piéce], "carac120",carac120  as rep FROM matable;
    sinon j'ai un bout de programme...http://access.developpez.com/sources...te#AnaDecroise

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    faire une requete union de cette façon, ça fonctionne : mes données sont dans le bon ordre, déjà, j'avance un peu... donc déjà : MERCI !

    mais je rencontre une autre difficulté (je maitrise pas sql, ni vba d'ailleurs... donc j'ai du mal)

    cette requete que j'ai maintenant il faudrait que je puisse la mettre dans mon etat, et que je puisse filtrer sur l'enregistrement en cours dans l'etat...
    mais mon etat refuse, il ne veut pas pas utiliser une requete sql directe ou une analyse croisée donc les colonnes ne sont pas figées etc...comme source d'enregistrement...
    donc il faudrait eventuellement, que avant d'ouvrir mon etat, lorsque je selectionne l'enregistrement, ça genere une table temporaire à partir de ma requete sql, avec les données de l'enregistrement seulement...
    et ensuite je mettrais cette table dans mon etat. et après elle se supprimerait...

    mais euh... je suppose que je dois faire ça en vba ? vous pourriez m'aider avec la synthaxe ?

  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
    qu'à cela ne tienne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT *  INTO tempo
    FROM (SELECT [num piéce], "carac1" as lib,carac1 as rep FROM matable
    union all
    SELECT [num piéce], "carac2", carac2 as rep FROM matable
    union all 
    SELECT [num piéce], "carac120",carac120  as rep FROM matable);

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 127
    Points : 56
    Points
    56
    Par défaut
    ça fonctionne parfaitement !

    Mille mercis pour ces explications, random !!!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/04/2006, 11h27
  2. [WTP]déploiement d'une appli comment faire?Je craque
    Par phalae dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 23/02/2006, 17h10
  3. [SQL] jointure externe avec 3 tables, comment faire ....
    Par grumbok dans le forum Langage SQL
    Réponses: 2
    Dernier message: 04/08/2005, 16h13
  4. Debugger avec VC++ 5 une DLL. Comment faire ?
    Par Pierre8r dans le forum MFC
    Réponses: 2
    Dernier message: 11/02/2005, 09h32
  5. [DEB.] - Transposer une table SQL en XML SCHEMA ???
    Par oulahoup dans le forum Valider
    Réponses: 2
    Dernier message: 10/06/2003, 15h11

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