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 :

Soustraction des résultats des deux requêtes sql en access


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut Soustraction des résultats des deux requêtes sql en access
    Bonjour ;je travaille sur une base access et je voudrais soustraire le résultats des deux requêtes Sql et comme EXCEPT Ne fonctionne pas sous access J'ai cherché sur le forum et j ai trouvé NOT IN et NOT EXISTS
    j'ai essayé de les adapter sur mon cas mais il m affiche des erreurs



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $sql="SELECT  sum (A1.[1]),sum (A1.[2]),sum (A1.[3]),sum (A1.[4]),sum (A1.[5]),sum (A1.[6]),
    sum (A1.[7]),sum (A1.[8]),sum (A1.[9]),sum (A1.[10]),sum (A1.[11]),sum (A1.[12]),sum (A1.[13]),sum (A1.[14]),sum (A1.[15]),
    sum (A1.[16]),sum (A1.[17]),sum (A1.[18]), sum (A1.[19]),sum (A1.[20]),sum (A1.[21]),sum (A1.[22]),sum (A1.[23]),sum (A1.[24]),
    sum (A1.[25]),sum (A1.[26]),sum (A1.[27]),sum (A1.[28]),sum (A1.[29]),sum (A1.[30]),sum (A1.[31])   
    FROM T_Codes_Evenements AS A2 INNER JOIN
    T_MDAJour_AnalyseCroise AS A1 on A2.code=A1.CODEVT WHERE $critere AND A1.NbJour<>0 AND Populo='$populo' 
    AND A2.TRI=(0,1,3)
     NOT IN
    (SELECT  sum (A1.[1]),sum (A1.[2]),sum (A1.[3]),sum (A1.[4]),sum (A1.[5]),sum (A1.[6]),
    sum (A1.[7]),sum (A1.[8]),sum (A1.[9]),sum (A1.[10]),sum (A1.[11]),sum (A1.[12]),sum (A1.[13]),sum (A1.[14]),sum (A1.[15]),
    sum (A1.[16]),sum (A1.[17]),sum (A1.[18]), sum (A1.[19]),sum (A1.[20]),sum (A1.[21]),sum (A1.[22]),sum (A1.[23]),sum (A1.[24]),
    sum (A1.[25]),sum (A1.[26]),sum (A1.[27]),sum (A1.[28]),sum (A1.[29]),sum (A1.[30]),sum (A1.[31])   
    FROM T_Codes_Evenements AS A2 INNER JOIN
    T_MDAJour_AnalyseCroise AS A1 on A2.code=A1.CODEVT WHERE $critere AND A1.NbJour<>0 AND Populo='$populo' 
    AND A2.TRI in( 2 ));";
     
    $id_result = odbc_exec($id_odbc,$sql);//execute la requête
    quand j'utilise NOT IN il m'affiche cette erreur

    SQL error: [Microsoft][Pilote ODBC Microsoft Access] Vous avez écrit une sous-requête pouvant renvoyer plus d'un champ sans utiliser le mot réservé EXISTS dans la clause FROM de la requête principale. Révisez l'instruction SELECT de la sous-requête pour obtenir un seul champ

    quand j'utilise NOT EXISTS il m'affiche cette erreur

    SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'expression 'SIGLE3 = 'EMB' AND SIGLE2= 'DCPM' AND A1.NbJour<>0 AND Populo='O' AND A2.TRI=(0,1,2) NOT EXISTS (SELECT sum (A1.[1]),sum (A1.[2]),sum (A1.[3]),sum (A1.[4]),sum (A1.[5]),sum (A1.[6]), sum (A1.[7]),sum (A1.[8]),sum (A1.[9]),sum (A1.[10]),sum (A1.[11]),'

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Bonjour,

    ça devrait largement suffir dans la première requête pour ne pas prendre A2.TRI = 2.

    Cordialement,

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Bonjour ;

    je vous remercie pour votre réponse;

    Peut être j'ai mal expliqué mon problème

    mon objectif est de faire un soustraction du résultats de les 2 requête sachant que j'ai une somme de 31 colonnes
    je vous donne une exemple

    requête1 48 25 32 10 12 50 54 53 45 54 .......................48 25 62
    -
    requête2 18 19 17 8 10 13 14 12 17 15.......................18 12 11

    Résultat: 30 6 15 2 2 37 40 41 18 39....................... 30 13 51

    J'espère que j 'ai expliqué mon problème.

    Merci d'avance.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Bonjour,

    2 requetes séparées : TRI in (0,1,3) et TRI = 2.

    Puis faire une troisième requête basée sur les 2 précédentes où tu feras la soustraction.

    Cordialement,

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Merci loufab j'ai essayé de faire comme ça :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    $Req1="SELECT  sum (A1.[1]),sum (A1.[2]),sum (A1.[3]),sum (A1.[4]),sum (A1.[5]),sum (A1.[6]),
    sum (A1.[7]),sum (A1.[8]),sum (A1.[9]),sum (A1.[10]),sum (A1.[11]),sum (A1.[12]),sum (A1.[13]),sum (A1.[14]),sum (A1.[15]),
    sum (A1.[16]),sum (A1.[17]),sum (A1.[18]), sum (A1.[19]),sum (A1.[20]),sum (A1.[21]),sum (A1.[22]),sum (A1.[23]),sum (A1.[24]),
    sum (A1.[25]),sum (A1.[26]),sum (A1.[27]),sum (A1.[28]),sum (A1.[29]),sum (A1.[30]),sum (A1.[31])   
    FROM T_Codes_Evenements AS A2 INNER JOIN
    T_MDAJour_AnalyseCroise AS A1 on A2.code=A1.CODEVT WHERE $critere  AND Populo='$populo' 
    AND A2.TRI in(0,1,3);";
     
    $Req2="SELECT  sum (B1.[1]),sum (B1.[2]),sum (B1.[3]),sum (B1.[4]),sum (B1.[5]),sum (B1.[6]),
    sum (B1.[7]),sum (B1.[8]),sum (B1.[9]),sum (B1.[10]),sum (B1.[11]),sum (B1.[12]),sum (B1.[13]),sum (B1.[14]),sum (B1.[15]),
    sum (B1.[16]),sum (B1.[17]),sum (B1.[18]), sum (B1.[19]),sum (B1.[20]),sum (B1.[21]),sum (B1.[22]),sum (B1.[23]),sum (B1.[24]),
    sum (B1.[25]),sum (B1.[26]),sum (B1.[27]),sum (B1.[28]),sum (B1.[29]),sum (B1.[30]),sum (B1.[31])   
    FROM T_Codes_Evenements AS B2 INNER JOIN
    T_MDAJour_AnalyseCroise AS B1 on B2.code=B1.CODEVT WHERE $critere  AND Populo='$populo' 
    AND B2.TRI in( 2);";
     
    $sql="  $Req1-  $Req2;";
     
    $id_result = odbc_exec($id_odbc,$sql);//execute la requête
    mais ça marche pas , peut être que j'ai mal crée mes requêtes

    Cordialement,

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Tu fais une soustraction de 2 chaines là !

    Tu dois créer 2 vues (requêtes sauvegardées) et en faire une troisième avec celles-ci comme source.

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Bonjour;
    Comme j'étais en maladie j'avais pas l'acasion de finir mon programme et suivre cette discussions.

    je suis toujours bloqué.
    J'ai essayé de suivre la piste que vous m'avez proposé.
    Pouvez vous me donner une exemple d'une soustraction de deux vues.

    Bien cordialement

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Voici un exemple d'une soustrtaction de somme des champs de 2 tables.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Sum([achats].[montant_ventes])-Sum([Ventes].[montant_ventes]) AS S1
    FROM Achats INNER JOIN Ventes ON Achats.Ville = Ventes.Ville
    GROUP BY Achats.Id;
    Cordialement,

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Je vous remercie pour votre réponse
    mais dans mon cas j'ai deux requêtes et chaque requête est défini par des conditions ,il y a un seul condition qui se change dans la la première la condition est A2.TRI in(0,1,3,6,9) et dans la deuxième A2.TRI in(2)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $Req1="SELECT  sum (A1.[1]),sum (A1.[2]),sum (A1.[3]),sum (A1.[4]),sum (A1.[5]),sum (A1.[6]),
    sum (A1.[7]),sum (A1.[8]),sum (A1.[9]),sum (A1.[10]),sum (A1.[11]),sum (A1.[12]),sum (A1.[13]),sum (A1.[14]),sum (A1.[15]),
    sum (A1.[16]),sum (A1.[17]),sum (A1.[18]), sum (A1.[19]),sum (A1.[20]),sum (A1.[21]),sum (A1.[22]),sum (A1.[23]),sum (A1.[24]),
    sum (A1.[25]),sum (A1.[26]),sum (A1.[27]),sum (A1.[28]),sum (A1.[29]),sum (A1.[30]),sum (A1.[31])   
    FROM T_Codes_Evenements AS A2 INNER JOIN
    T_MDAJour_AnalyseCroise AS A1 on A2.code=A1.CODEVT WHERE $critere  AND Populo='$populo' 
    AND A2.TRI in(0,1,3,6,9);";
     
    $Req2="SELECT  sum (B1.[1]),sum (B1.[2]),sum (B1.[3]),sum (B1.[4]),sum (B1.[5]),sum (B1.[6]),
    sum (B1.[7]),sum (B1.[8]),sum (B1.[9]),sum (B1.[10]),sum (B1.[11]),sum (B1.[12]),sum (B1.[13]),sum (B1.[14]),sum (B1.[15]),
    sum (B1.[16]),sum (B1.[17]),sum (B1.[18]), sum (B1.[19]),sum (B1.[20]),sum (B1.[21]),sum (B1.[22]),sum (B1.[23]),sum (B1.[24]),
    sum (B1.[25]),sum (B1.[26]),sum (B1.[27]),sum (B1.[28]),sum (B1.[29]),sum (B1.[30]),sum (B1.[31])   
    FROM T_Codes_Evenements AS B2 INNER JOIN
    T_MDAJour_AnalyseCroise AS B1 on B2.code=B1.CODEVT WHERE $critere  AND Populo='$populo' 
    AND B2.TRI in( 2);";
    Comment je peux faire la soustraction des sommes de ces deux requêtes.

  10. #10
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Bonjour,

    D'abord as-tu la possibilité de créer des requetes stockées ? Tu n'as pas répondu.

    Si pas de possiblité tu devras faire ça en une seule requete.

    L'important dans l'exemple fourni c'est l'opération, concernant la relation et la création des alias il n'y a pas de problème particulier.

    Cordialement,

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Bonjour;


    est que vous pouvez m'aider un peu parce-que j'ai tout mon temps a chercher la solution de ce problème et je suis bloqué parce-que la travail qui me reste dépend de le résultats de cette requête
    J 'ai essayé de créer deux requêtes sauvegardés

    la première requête:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    "create view REST1
     From ( SELECT sum (A1.[03/08/2011]),sum (A1.[04/08/2011]),
    sum (A1.[05/08/2011]),sum (A1.[06/08/2011]),sum (A1.[07/08/2011]),sum (A1.[08/08/2011]),sum (A1.[09/08/2011]),sum (A1.[10/08/2011]), 
    sum (A1.[11/08/2011]),sum (A1.[12/08/2011]),sum (A1.[13/08/2011]),sum (A1.[14/08/2011]),sum (A1.[15/08/2011]),sum (A1.[16/08/2011]),
    sum (A1.[17/08/2011]),sum (A1.[18/08/2011]),sum (A1.[19/08/2011]),sum (A1.[20/08/2011]),sum (A1.[21/08/2011]),sum (A1.[22/08/2011]),
    sum (A1.[23/08/2011]),sum (A1.[24/08/2011]),sum (A1.[25/08/2011]),sum (A1.[26/08/2011]),sum (A1.[27/08/2011]),sum (A1.[28/08/2011]),
    sum (A1.[29/08/2011]),sum (A1.[30/08/2011]),sum (A1.[31/08/2011]),sum (A1.[01/09/2011]),sum (A1.[02/09/2011])
    FROM T_Codes_Evenements AS A2 INNER JOIN
    T_MDAJour_AnalyseCroise AS A1 on A2.code=A1.CODEVT WHERE $critere AND A1.NbJour<>0  
    AND A2.TRI in( 0 )) ";

    la deuxième requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    "create view REST2 
    From(SELECT sum (A1.[03/08/2011]),sum (A1.[04/08/2011]),
    sum (A1.[05/08/2011]),sum (A1.[06/08/2011]),sum (A1.[07/08/2011]),sum (A1.[08/08/2011]),sum (A1.[09/08/2011]),sum (A1.[10/08/2011]), 
    sum (A1.[11/08/2011]),sum (A1.[12/08/2011]),sum (A1.[13/08/2011]),sum (A1.[14/08/2011]),sum (A1.[15/08/2011]),sum (A1.[16/08/2011]),
    sum (A1.[17/08/2011]),sum (A1.[18/08/2011]),sum (A1.[19/08/2011]),sum (A1.[20/08/2011]),sum (A1.[21/08/2011]),sum (A1.[22/08/2011]),
    sum (A1.[23/08/2011]),sum (A1.[24/08/2011]),sum (A1.[25/08/2011]),sum (A1.[26/08/2011]),sum (A1.[27/08/2011]),sum (A1.[28/08/2011]),
    sum (A1.[29/08/2011]),sum (A1.[30/08/2011]),sum (A1.[31/08/2011]),sum (A1.[01/09/2011]),sum (A1.[02/09/2011])
    FROM T_Codes_Evenements AS A2 INNER JOIN
    T_MDAJour_AnalyseCroise AS A1 on A2.code=A1.CODEVT WHERE $critere AND A1.NbJour<>0  
    AND A2.TRI in( 1,2,3,4,5,6,16 ) 
    );";
    la requête de soustraction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql="SELECT sum ([REST1].[03/08/2011])-sum[REST2].[03/08/2011]),sum ([REST1].[04/08/2011])-sum([REST2].[03/08/2011]),
    sum ([REST1].[05/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[06/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[07/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[08/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[09/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[10/08/2011])-sum([REST2].[03/08/2011]), 
    sum ([REST1].[11/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[12/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[13/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[14/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[15/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[16/08/2011])-sum([REST2].[03/08/2011]),
    sum ([REST1].[17/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[18/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[19/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[20/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[21/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[22/08/2011])-sum([REST2].[03/08/2011]),
    sum ([REST1].[23/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[24/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[25/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[26/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[27/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[28/08/2011])-sum([REST2].[03/08/2011]),
    sum ([REST1].[29/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[30/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[31/08/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[01/09/2011])-sum([REST2].[03/08/2011]),sum ([REST1].[02/09/2011])-sum([REST2].[03/08/2011])
     
    FROM REST1 INNER JOIN REST2 ;";
    $id_result = odbc_exec($id_odbc,$sql);//execute la requête
    est ce que je suis sur le bon chemin ??:

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Moi aussi je passe du temps à faire mon boulot. C'est le but d'un travail... passer du temps en échange d'un salaire...

    Note qu'il n'y a pas de mode boule de cristal sur le forum DEVELOPPEZ. Si tu veux être aidé il faut en dire plus ! Il existe plusieurs centaines de message d'erreur. Donc on a le choix.

    En attendant de vrais informations pour traiter ton problème, je retourne à mon boulot.

  13. #13
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    J e vous remercie beaucoup pour votre réponse mais je veux savoir est ce que je suis sur le bon chemin et est que les requêtes sauvegardées que j'ai crée sont bonne ou pas

    sachant que je bosse jour et nuit pour résoudre ce problème et je suis stagiaire et c la première fois que j'utilise access et sql .

    Merci pour votre aide.

  14. #14
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Ouvre ton fichier ACCESS et regarde ce que renvoi tes requetes après les avoir créées.

    Il y a un excellent correcteur / composeur de requetes autant l'utiliser.

  15. #15
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut Requête Sauvegardé SQL
    Bonjour;

    je travaille sur une base ACCESS pour la première fois.

    en fête je veux la soustraction du somme de deux requêtes pour deux condition différentes sur la même table.

    Dans la première table je vais compter le nombre de matricule d'effectifs inscrit j'ai met dans la clause where code in 0

    Dans la deuxième Requêtes j 'ai dans la clause where code in
    1,2,3,4,5,6,7 (codes d'absence)


    mais le problème qui se pose :chaque matricule il a un code inscrit (0) mais s'il est absent il peut avoir un deuxième codes au même temps inscrit (0) bien sur et un deuxieme code par ex (7)


    alors je pense que je dois écrire une requête sauvegardé pour compter toutes les matricules qui sont inscrit et un deuxième pour calculer le nombre de matricule qui sont absent

    et après je ferai la soustraction

    Avez vous une aidé je suis vraiment bloqué ça fait un bon moment..
    Je vous remercie d'avance

  16. #16
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Bonjour Loufab
    j'espère que vous allez bien je reviens encore une fois vers vous


    pour le problème que j'ai posté la dernière fois...en fête j'ai travaille sur d'autres code application et j'ai fini hier je dois maintenant continuer ce projet


    en fête hier j'ai crée deux requêtes en access et j'ai fait la soustraction comme vous m'avez expliqué et ça marche bien

    mais le problème que le résultat me donnes chaque fois 0

    je pense que j 'ai compris ou de vient le problème:

    je vous explique encore le problème je dois compter le nombre de matricule présent et pour ça je dois faire la soustraction du nombre de matricule inscrit et le nombre de matricule absent

    jusqu’à maintenant il n y a pas de problème


    mais le problème qui se pose : chaque matricule il a un code inscrit (0) mais s'il est absent il peut avoir un deuxième code au même temps inscrit (0) bien sur et un Autre code par ex (7)




    j espère que j 'ai bien explique mon cas



    Aviez vous une aidé ??

    Merci d'avance

  17. #17
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    Peut-être la difference sur un DCount des présents et un DCount sur les absents. Voir l'aide pour DCount

  18. #18
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 726
    Points
    24 726
    Par défaut
    Désolé je n'ai pas d'idée du tout de l'origine du problème.

    Peut-être qu'en postant la base j'y verrais plus clair.

  19. #19
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Bonjour;

    en fête il n y a pas un code pour l’effectif présent il un codes inscrit pour l’effectif qui doit être présent et des codes pour les type d'absence : maladie-motif inconnu,Congé...chômage.. etc

    je dois calculer le nombre d'effectif présent ,en faisons la soustraction de l'effectif absent pour les différents codes avec le total d’effectif inscrit (qui doit être présent)


    si j'avais un code pour l'effectif présent le problème est résolu


    j espère que j'ai bien explique mon problème.

    Merci

  20. #20
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 52
    Points : 15
    Points
    15
    Par défaut
    Re-bounjour;

    Vous trouvez en pièce jointe ma base de données

    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WD15] Soustraction des résultats de deux requêtes
    Par djenny dans le forum WinDev
    Réponses: 11
    Dernier message: 30/01/2014, 16h25
  2. [XL-2007] Créer un graphique à partir des résultats d'une requête SQL
    Par jpclabaux dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/04/2013, 23h12
  3. Réponses: 3
    Dernier message: 30/06/2009, 20h16
  4. [Requête]Concaténation des résultats d'une requête SQL
    Par teks9 dans le forum Développement
    Réponses: 2
    Dernier message: 01/09/2008, 16h34

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