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 25/05/2011, 11h41   #1
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
Par défaut Affichage du résultat d'une requête en plusieurs colonnes

Bonjour.

Je travaille sur une base Access pour compter les effectifs qui contient deux tables :
  • MDAjour (matricule, date, codEve)
  • T_Codes_Evenements (code, libelle, Tri)

Je veux compter le nombre des absents dans ma base selon le code événement.

TMDAjour
 
date            Matcle     contrat      codEven
 
03/02/2011 10000403       I              Inscrit
03/02/2011 10000403       I              C01
03/02/2011 10000404       D              A00
04/02/2011 10000404       D              M01
04/02/2011 10000405       I               C01
05/02/2011 10000406       T               C32
Un matricule peut avoir deux codes d'événements dans le même jour il peut être inscrit et en congé. Inscrit signifie qu'il est payé.

T_Codes_Evenements
 
Code libelle TRI
 
C01 Congés            1
A00 Motif inconnu    2
C32 Chômage           3
M01 Maladie            4  
Code :
1
2
3
4
$sql="SELECT  A2.libelle,A2.TRI Count (A1.[MATCLE])  FROM T_Codes_Evenements AS A2 LEFT JOIN   
 T_MDAJour AS A1 on A2.code=A1.codEven WHERE  date =Format('03/02/2011')  Group BY A2.TRI,A2.libelle ORDER BY A2.TRI;";
 
$id_result = odbc_exec($id_odbc,$sql);
Cette requête m'affiche le résultat dans une seul colonne pour une seule date, mais je veux afficher les six dates dans la même page : j'ai essayé de faire une boucle mais je n'ai pas pu.

Merci à tous.
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 11h55   #2
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
Bonjour

SVP, lisez le "règles du forum" avant d'envoyer une discussion, notamment en formatant votre code et en fournissant le SGBD que vous utilisez...

Par ailleurs, il existe sur CE forum des dizaines de discussions sur ce sujet en utilisant par exemple des mots cles comme "Croise", "Pivot" avant de vous d'envoyer un message ....

voici un exemple de discussion qui pourrait vous être utile, et il y en a bien d'autres déjà disponibles.

dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 28/05/2011, 17h13   #3
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
fournissant le SGBD que vous utilisez
ACCESS non?
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/05/2011, 09h32   #4
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
Par défaut Affichage d'une requête sql en plusieurs colonnes

Bonjour j'ai essayé d'adapter l'exemple que vous avez posté mais ça ne marche pas dans mon cas en fait ma requête elle est bonne et elle m'affiche le résultat pour une seule date dans une seule colonne lorsque je mets à la clause where date=date =Format('03/02/2011') par contre je veux afficher tout les résultats de tout le mois (30jours) dans 30 colonnes en même temps dans un tableau j'ai essayé de faire des sous-requêtes imbriquées mais ça ne va pas marcher que je dois faire?? vraiment j'ai épuisé tous mes neurones.
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 11h55   #5
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
Citation:
Envoyé par dehorter olivier Voir le message
Bonjour

SVP, lisez le "règles du forum" avant d'envoyer une discussion, notamment en formatant votre code et en fournissant le SGBD que vous utilisez...

Par ailleurs, il existe sur CE forum des dizaines de discussions sur ce sujet en utilisant par exemple des mots cles comme "Croise", "Pivot" avant de vous d'envoyer un message ....

voici un exemple de discussion qui pourrait vous être utile, et il y en a bien d'autres déjà disponibles.

Bonjour;

je vous remercie pour votre reponse parcontre j ai pas trouvé coment utiliser un pivot sous access .
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 12h04   #6
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
Bonjour


je n'ai jamais indiqué que PIVOT existait sous access, mais qu'il existait plein de discussion sur le sujet dans le forum...

Pour access, la realisation de ce type de requete croisée se fait avec TRANSFORM.

Comme il s'agit d'une commande specifique a access, il serait judicieux de regarder sur le forum spécifique ACCESS

a+
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 12h51   #7
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Samsamo et Olivier,

Citation:
Envoyé par Samsamo
.../... j ai pas trouvé coment utiliser un pivot sous access .
==> la solution consiste, comme souvent, à passer par l'assistant "Requête analyse croisée" : c'est très bien expliqué et les clauses TRANSFORM, PIVOT et autres sont créées automatiquement.

Rien n'empêche, ensuite, de récupérer le code SQL (Mode SQL), pour l'étudier ; l'inverse est nettement plus difficile...
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 12h56   #8
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
bonjour pouvez me donner un lien ou un tutoriel qui peux m'aider a utiliser la clause TRANSFORM et PIVOT
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 14h14   #9
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Samsamo,

As-tu utilisé l'assistant "Requête analyse croisée", comme suggéré ?
Il est très clair.

Sinon, ce tuto, par exemple.
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 14h19   #10
Membre émérite
 
Homme Olivier Dehorter
Ingenieur de recherche - Ecologue
Inscription : juin 2003
Messages : 697
Détails du profil
Informations personnelles :
Nom : Homme Olivier Dehorter
Localisation : France

Informations professionnelles :
Activité : Ingenieur de recherche - Ecologue

Informations forums :
Inscription : juin 2003
Messages : 697
Points : 837
Points : 837
bonjour


As-tu au moins chercher sur ce forum si ce type d'information existe ?
J'ai testé et j'ai trouve des trucs qui peuvent t’intéresser.
De meme en faisant une recherche sur google avec ces mots cles.
Citation:
access requete croisee tutorial

En clair, je veux bien aidé mais pas faire le boulot des autres

d'autant que la proposition de Richard_35 est tout à fait judicieuse.
dehorter olivier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 15h59   #11
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
je vous remercie beaucoup;

j'ai réussi d'appliquer la Requête analyse croisée sur ma table T_MDAJour

par contre j'ai un autre soucis dans ma table MDAJour j ai besoin d'utiliser 6 champs plus la date par-contre la table Assistant Requête analyse croisée se limite a 3 champs plus a date que je dois faire??

et voici en pièce jointe un exemple de ma base de données
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 17h30   #12
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Pas très clair... désolé.

Donnes un exemple de ce que tu souhaites, en final, à partir de T_MDAJour, avec les bons noms de champ.
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 09h03   #13
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
Citation:
Envoyé par Richard_35 Voir le message
Pas très clair... désolé.

Donnes un exemple de ce que tu souhaites, en final, à partir de T_MDAJour, avec les bons noms de champ.
Bonjour

en fête je souhaite compter a chaque jour le nombre de matricule selon le code évènement pour chaque usine ,unité,contrat et population.


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

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Samsamo,

Citation:
Envoyé par Samsamo
j'ai réussi d'appliquer la Requête analyse croisée sur ma table T_MDAJour
==> tu as donc solutionné ton problème de requête "analyse croisée".


Citation:
Envoyé par Samsamo
je souhaite compter a chaque jour le nombre de matricule selon le code évènement pour chaque usine ,unité,contrat et population.
==> il faut donc que tu crées une requête "sélection" groupée (∑) par jour/usine/unité/contrat/population/code évènement (champs que tu dois avoir dans T_MDAJour, j'espère), avec un Count(*) qui va bien.
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 22h10   #15
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
Merci pour votre réponse Richard
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 10h20   #16
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Samsamo,

Si tout est OK, presses le bouton , STP.
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 16h03   #17
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
Bonjour Richard;

j ai pas encore résolu mon problème

j ai créé la requête de sélection avec les champs mais je sais pas ou je dois utiliser Count(*) dans cette requête

( je suis désolé mais je connais pas bien access
d'habitude je travaille sur Mysql ou post gres sql)
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2011, 16h42   #18
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Samsamo,

Via l'assistant, il faut passer en requête groupée ==> bouton , en haut.
Ensuite, tu pourras saisir Count(*) pour le groupe que tu as choisi.
__________________
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 actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2011, 15h53   #19
Invité régulier
 
Inscription : juin 2009
Messages : 50
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 50
Points : 6
Points : 6
bonjour Richard_35;

Enfin j'ai réussi a résoudre mon problème et mon programme marche très bien


merci beaucoup a tous.
samsamo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h27.


 
 
 
 
Partenaires

Hébergement Web