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 Analyse Croisée à l'envers


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut Requête Analyse Croisée à l'envers
    Bonjour à tous,

    Je me demandais si il était possible de faire une requête analyse croisée à l'envers...

    J'ai une table où j'ai des IdMagasin et des colonnes de produits. Pour chaque IdMagasin, j'ai Oui ou Non dans la colonne correspondante selon que le magasin vend ou pas ce produit (je n'ai qu'une dizaine de produits).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    IdMagasin	ProdA	ProdB	ProdC	ProdD
    0010002		OUI	NON	NON	NON
    0010036		OUI	NON	OUI	NON
    0010041		OUI	NON	OUI	NON
    0010050		NON	NON	NON	OUI
    Je voudrais importer ces données dans ma base qui est nettement mieux structurée... J'ai une table des magasins, une table des produits et une table intermédiaire que je voudrais alimenter à partir de ce fichier...

    Il faudrait que j'arrive à "décroiser" ma table et avoir :

    0010002 ProdA
    0010036 ProdA
    0010036 ProdC
    etc...

    Je suis déjà arrivé à avoir une liste avec les IdMagasin et en face toutes les références des produits possibles en créant une requête entre les deux tables sans mettre de jointure entre les deux. Il me manque encore une colonne Vrai/faux pour me dire si cette correspondance existe dans le fichier initial.

    Et je bloque...

    J'aimerais bien qu'il n'y ait pas de VBA dans l'histoire...

    J'ai bien essayé une colonne avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =vraifaux( Fields([RefProduit])="VRAI";vrai;faux)
    mais Access ne veut pas de la collection Fields dans une expression de calcul de requête....

    Quelqu'un a t'il une petite idée pour résoudre ce problème ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Sans VBA, cela ne va pas être évident.

    Par contre avec VBA, tu peux lire ce topic dans les sources Access :

    http://access.developpez.com/sources...te#AnaDecroise

    Starec

  3. #3
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 222
    Points
    222
    Par défaut
    Bonsoir, dans ton exemple 4 requete Insertion ( Insert INTO ) font ce que tu demandes.

    Par contre si tu souhaites faire la même chose pour x colonne ==> VBA ==> faire une boucle qui liste les colonne de la table analyse croisée à traiter, afin de créer order SQL insert into pour chaque colonne de la table analyse croisée.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Snif... Bon, je vais faire du VBA, merci de vos réponses...

    Je n'ai rien contre le VBA, mais en fait, ce n'est pas pour moi mais pour quelqu'un à qui je vais devoir expliquer ce que j'ai fait... Ca aurait été plus facile sans VBA...

    Encore merci à vous.

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut,

    dans le même état d'esprit que Jack78960, je te dirais qu'il est possible de faire x requetes pour les x produits et faire une requete union.

    mais peut être pourrais tu travailler en amont sur ton tableau d'analyse croisée: il est le résultat de tables existantes qui pourrait te fournir de meilleurs possibilités de travail?

    sinon le travail de random devrais t'aider?: (lien fourni par starec)
    Comment afficher les données à l'inverse d'une requête analyse croisée ?

    mais il est vrai que si tu veux reprendre les noms des champs dans le résultat de la requete, seul le vba te le permettra.

    bonne continuation.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/09/2011, 19h14
  2. Requête analyse croisée sous SQL SERVER
    Par motus_z dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/02/2006, 17h54
  3. Zones vides dans Requête Analyse croisée
    Par sbeprod dans le forum Access
    Réponses: 2
    Dernier message: 12/12/2005, 15h03
  4. Requête Analyse Croisée
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 07/11/2005, 19h13
  5. Requêtes analyses croisées sous SQL Server 2000
    Par callo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 24/09/2005, 20h27

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