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

Access Discussion :

afficher simultanément les résultats de deux requêtes


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut afficher simultanément les résultats de deux requêtes
    bonjour,

    j'ai réalisé 2requêtes SQL(sous Access) comme suit:

    R1: affiche le nombre d'opérations exécutées lors de chaque mois de l'année par agence à partir d'une table T1

    R2: affiche le nombre d'opérations rejetées lors de chaque mois de l'année par agence à partir d'une table T2

    je voudrai définir une requête R3 qui affiche le nombre d'opérations exécutées et le nombre d'opérations rejetées de chaque mois de l'année par agence

    merci d'avance

  2. #2
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    C'est curieux de voir que le nombre d'opérations exécutées et le nombre d'opérations rejettées sont dans deux tables différentes. Quel est donc le lien qui lie les deux tables? Peux-tu nous présenter les deux requêtes?
    Juste pense qu'une requête union peut donner ce que tu veux.
    Un truc de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT operation 
    FROM T1
    WHERE Type = executé
    Union 
    SELECT operation 
    FROM T2
    WHERE Type = rejetée;

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    merci déjà pour votre réponse.
    Au fait, la table T1 contient la liste des opérations exécutées par les différentes agences et la table T2 continent la liste des opérations rejetées par les différentes agences.
    R1 compte le nombre d'opérations par agence dans T1 et R2 compte le nombre d'opérations par agence dans T2.
    Par ailleurs, je voudrai ,avoir une synthèse, c'est à dire le nombre d'opérations exécutées et le nombre d'opérations rejetées par agence.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    R1:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM Count(T1.FRAIS) AS [Total Exécutés Mois]
    SELECT Mid([CODEAGENCE],2,2) AS [Code Agence], Count(T1.FRAIS) AS [Total Exécutés]
    FROM (T1 LEFT JOIN TYPE_DOSSIER ON T1.TYPEDOSSIER = TYPE_DOSSIER.TYPEDOSSIER) LEFT JOIN AGENCES ON T1.COCODE = AGENCES.COCODE
    WHERE (((Mid([TRANSACTIONDATE],1,6))=201801 Or (Mid([TRANSACTIONDATE],1,6))>201801) AND ((T1.TYPEDOSSIER)="1" Or (T1.TYPEDOSSIER)="2"))
    GROUP BY T1.COCODE, Mid([CODEAGENCE],2,2)
    PIVOT Mid([TRANSACTIONDATE],1,6);

    R2:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM Count(T2.TYPEREJET) AS [Total Rejetés]
    SELECT T2.AGEME AS Agence, "TN0021" & [AGEME] AS [Code Agence], Count(T2.TYPEREJET) AS Total
    FROM T2 LEFT JOIN TYPE_DOSSIER ON T2.TYPEDOSSIER = TYPE_DOSSIER.TYPEDOSSIER
    WHERE (((Mid([DATEREJET],1,6))=201801 Or (Mid([DATEREJET],1,6))>201801))
    GROUP BY T2.AGEME, "TN0021" & [AGEME]
    PIVOT Mid([DATEREJET],1,6);

  5. #5
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    En fait le nombre de colonnes dans une requêtes ACD peut varier. Je ne connaît pas le but donc tu veux forcément faire deux requêtes. regarde un peu ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    TRANSFORM Count(T1.FRAIS) AS [Total Exécutés Mois]
    SELECT Mid([Agences.CODEAGENCE],2,2) AS [Code Agence], Count(T1.FRAIS) AS [Total Exécutés], T2.AGEME AS Agence, "TN0021" & [AGEME] AS [Code Ag], Count(T2.TYPEREJET) AS [Total Rejetés], Count(T2.TYPEREJET) AS Total
    FROM ((T1 LEFT JOIN TYPE_DOSSIER ON T1.TYPEDOSSIER = TYPE_DOSSIER.TYPEDOSSIER) LEFT JOIN AGENCES ON T1.COCODE = AGENCES.COCODE) LEFT JOIN T2 ON TYPE_DOSSIER.TYPEDOSSIER = T2.TYPEDOSSIER
    WHERE (((Mid([TRANSACTIONDATE],1,6))=40000 Or (Mid([TRANSACTIONDATE],1,6))>40000) AND ((T1.TYPEDOSSIER)="EXECUTEE"))
    GROUP BY T1.COCODE, Mid([Agences.CODEAGENCE],2,2), T2.AGEME, "TN0021" & [AGEME]
    PIVOT Mid([TRANSACTIONDATE],1,6);

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    merci pour votre réponse. je vais l'essayer.
    sinon, vous pensez qu'il serait utile de créer une table contenant aussi bien les opérations exécutées que les opérations rejetées?
    c'est possible avec Access?

  7. #7
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bien sûr. Il suffit juste de restructurer la base de données. A mon avis T1 et T2 font une seule table.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Juin 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Juin 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    bonjour,
    il faut que je crée une table contenant le résultat de chaque requête d'extraction de T1 et T2.
    et également je dois renseigner un champ à "rejeté" ou "exécuté" selon le cas.
    comment le faire sous Access svp?

  9. #9
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Comme bertigny le signale très justement, tu ne devrais avoir qu'une seule table avec un champ supplémentaire intitulé par exemple "Executes" de type Oui/Non.
    Il te sera alors très simple de faire tes statistiques en comptant le nombre de Oui pour les Exécutés et le nombre de Non pour les Rejetés.

    Pour regrouper les tables T1 et T2 dans la nouvelle table, il faut utiliser la requête Ajout.

    Bonne continuation

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 128
    Points : 55 940
    Points
    55 940
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Jeannot45 Voir le message
    [...]
    Il te sera alors très simple de faire tes statistiques en comptant le nombre de Oui pour les Exécutés et le nombre de Non pour les Rejetés.[...]
    Dans un magnifique TCD Excel par exemple?

    Au passage, je plussoie Jeannot et Bertiny. La meilleure solution passe par une seule table.

    Si tu n'as pas la main sur les tables, tu pourrais aussi créer une requête UNION, mais c'est faire mouliner ton Access pour pas grand-chose. Le mieux est toujours de repartir sur une structure de DB saine.

Discussions similaires

  1. Comparer les résultats de deux requêtes SQL
    Par hm sami dans le forum JDBC
    Réponses: 11
    Dernier message: 22/07/2015, 18h07
  2. [2008] Soustraire les résultats de deux requêtes
    Par demerius dans le forum Développement
    Réponses: 2
    Dernier message: 04/11/2014, 16h11
  3. Afficher les résultats d'une requête ligne après ligne
    Par ThunderBolt_ dans le forum VBA Access
    Réponses: 9
    Dernier message: 02/08/2007, 13h28
  4. [SQL] Afficher les résultats d'une requête sur plusieurs pages
    Par mealtone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/09/2006, 13h20
  5. Afficher le ratio du résultat de deux requêtes
    Par decour dans le forum Access
    Réponses: 25
    Dernier message: 07/11/2005, 19h54

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