Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/09/2011, 17h22   #1
Invité de passage
 
Homme Jean
Consultant ERP
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Jean
Localisation : Belgique

Informations professionnelles :
Activité : Consultant ERP
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut 2 lignes pour 2 colonnes

Bonjour à tous

Pour faciliter la vie des utilisateurs, je fais des petits rapports essentiellement avec Excel et ses tableaux croisés dynamiques.

Aujourd'hui, j'ai un os !

Les données sont stockées dans une base de données SQL

Dans une base de données Access, j'ai importé les tables dont j'ai besoin. Je ne peux pas toucher à ses tables.

L'objectif est de faire un query me permettant d'agréger les données nécessaires.

Maintenant, Le problème

J'ai une table d'écritures générales avec un champs clé "EC_NO"

J'ai une table d'écritures analytiques avec le champs clé "EC_NO"
Dans cette même table j'ai le champs "Niveau" (qui peut avoir les valeurs 1 ou 2)et "Code". Donc j'ai toujours 2 enregistrements analytiques pour 1 enregistrement général.

Je voudrai bien obtenir dans mon query les infos suivantes:

Colonne 1 = "EC_NO"
Colonne 2 = "Code" pour la clé "EC_NO" avec le niveau valeur 1
Colonne 3 = "Code " pour la clé "EC_NO avec le niveau valeur 2
Colonne 4 = .... pour le reste, je maîtrise.

Y a-t-il moyen de solutionner sans passer par de la programmation SQL ou VBA car comme vous devez déja le supposer, je ne suis pas un artiste de ces matières.

D'avance je vous remercie pour le temps passé à bien vouloir me répondre.

Jean
zazou5908 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 17h39   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
Bonjour Zazou5908,

Il semble que l'assistant "requête analyse-croisée" soit la solution (le terme "analyse croisée" n'a pas la même signification dans Excel et dans Access).

Le but est de transformer (TRANSFORM) une requête contenant n lignes pour une clé (2 codes pour EC_NO) en 1 ligne par clé, avec les valeurs en colonne.

Donc, utilises l'assistant, il est très clair.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2011, 17h46   #3
Invité de passage
 
Homme Jean
Consultant ERP
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Jean
Localisation : Belgique

Informations professionnelles :
Activité : Consultant ERP
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Je vais me pencher sur cette info

Bonjour Richard,

Merci pour cette info. Je vais explorer la voie que tu me conseilles ce soir et je posterai mes commentaires.

Encore merci pour le tuyau ! J'espère que je vais pouvoir l'utiliser.

A+

Jean
zazou5908 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 16h48   #4
Invité de passage
 
Homme Jean
Consultant ERP
Inscription : septembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Jean
Localisation : Belgique

Informations professionnelles :
Activité : Consultant ERP
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Je n'y arrive pas

Bonjour à tous

J'ai essayé de mettre en pratique le conseil reçu mais je n'y arrive pas.

Ne voulant pas abuser du temps des gens qui connaissent et qui doivent avoir bien d'autres personnes à aider, pourriez-vous me dire s'il existe un tutoriel pour apprendre ce genre de chose et ou je peux le trouver.

D'avance, je vous remercie pour votre aide.

Jean
zazou5908 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 16h59   #5
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 178
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 178
Points : 2 807
Points : 2 807
Bonjour Zazou5908,

Où es-tu bloqué ?
L'assistant te demande :
- ce que tu veux mettre en "ligne" ==> EC_NO ;
- ce que tu veux mettre en "colonne" ==> Code ;
- ce que tu veux que contienne la cellule (intersection ligne/colonne) ==> Nombre, par exemple, mais tu pourras modifier la requête générée par l'assistant pour mettre d'autre valeur.
==> l'essentiel (de ce que j'ai compris) étant d'obtenir 1 ligne par EC_NO, avec les codes (1,2) en colonne.

Voici un tuto traitant des requêtes "analyse-croisée", si cela peut t'aider.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 00h29   #6
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
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 644
Points : 3 895
Points : 3 895
salut Richard_35 et bienvenu zazou5908,

il te faut faire une requete de ce style:
Code SQL :
1
2
3
4
5
6
7
SELECT EC_NO, Max(CdeNiv1) AS CodeNiv1, Max(CdeNiv2) AS CodeNiv2 FROM
   (
   SELECT EC_NO, IIF(Niveau=1,Code,"") AS CdeNiv1, "" AS CdeNiv2 FROM Analytique
   UNION
   SELECT EC_NO, "" AS CdeNiv1, IIF(Niveau=2,Code,"") AS CdeNiv2 FROM Analytique
   )
GROUP BY EC_NO
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h03.


 
 
 
 
Partenaires

Hébergement Web