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 :

Besoin d'une correction sur une requête


Sujet :

Requêtes et SQL.

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut Besoin d'une correction sur une requête
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [TYPE TRANSACTION].[Libellé transaction], Count(AFFAIRES.Réfaffaires) AS Enregistrées, Count(IIf(AFFAIRES.[Transaction aboutie]=True,AFFAIRES.Réfaffaires,0)) AS Abouties
    FROM AFFAIRES LEFT JOIN [TYPE TRANSACTION] ON AFFAIRES.Réftypetransaction = [TYPE TRANSACTION].Réftypetransaction
    GROUP BY [TYPE TRANSACTION].[Libellé transaction];
    La requête ci-avant est récalcitrante (du moins g du encore loupé qqch).
    J'ai en résultat une feuille de données avec mon libellé, en 2ème colonne, les bon comptes correspondants aux libellés, et en 3ème colonne, les mêmes chiffres que la 2ème . ça veut pas prendre en compte le Iif.
    J'ai essayé avec HAVING mais rien. Avec WHERE également...

    Help

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 265
    Points
    34 265
    Par défaut
    salut nessie,
    à première vue je te proposerai de remplacer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AFFAIRES.[Transaction aboutie]=True
    par cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AFFAIRES.[Transaction aboutie]=-1
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Salut,

    Le résultat est le même
    Est ce que cela n'aurait pas un rapport avec le fait que je fasse 2 "count" sur le même champs ?

  4. #4
    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 : 51
    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 Nessie37,

    suite à ton post dans la discution de sebinator, j'ai trouvé cette discution qui je ne pense pas être celui dont tu parlais, mais puisque je suis là autant te répondre.

    c'est normal que tu ai les mêmes résultats.
    Count(IIf(AFFAIRES.[Transaction aboutie]=True,AFFAIRES.Réfaffaires,0))
    est équivalent à:
    Count(AFFAIRES.Réfaffaires)
    puisque que tu compte le nombre d'enregistrements c'est indépedant du résultat que peut te renvoyer le iif.

    je ne connais pas le type de Réfaffaires mais je me doute que tu dois vouloir faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(IIf(AFFAIRES.[Transaction aboutie]=True,AFFAIRES.Réfaffaires,0))

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par vodiem Voir le message
    Salut Nessie37,

    suite à ton post dans la discution de sebinator, j'ai trouvé cette discution qui je ne pense pas être celui dont tu parlais, mais puisque je suis là autant te répondre.

    c'est normal que tu ai les mêmes résultats.

    est équivalent à:


    puisque que tu compte le nombre d'enregistrements c'est indépedant du résultat que peut te renvoyer le iif.

    je ne connais pas le type de Réfaffaires mais je me doute que tu dois vouloir faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(IIf(AFFAIRES.[Transaction aboutie]=True,AFFAIRES.Réfaffaires,0))
    Bonsoir et merci de vouoir m'apporter ton aide.
    Malheureusement, je ne veux pas faire un sum
    D'ailleurs cela me donne un résultat insensé. En fait, je souhaite compter, parmi les refaffaires enregistrées, celles qui ont abouti (Transaction abouties=True).

    Exemple,
    pour le réftypetransaction1, j'ai 4 affaires enregistrées mais 2 seulement abouties.

    Vois-tu ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 265
    Points
    34 265
    Par défaut
    et à ce moment là, peut-etre passer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(IIf(AFFAIRES.[Transaction aboutie]=True,1,0))
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    et à ce moment là, peut-etre passer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(IIf(AFFAIRES.[Transaction aboutie]=True,1,0))



    ça marche !
    J'y crois pas !
    Mais comment est-ce possible ! lol !

    Miiciiiiiii beaucoup

  8. #8
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    Du coup, je voudrais faire un taux que je rajoute après le code que tu viens de me donner mais ça ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum(IIf(AFFAIRES.[Transaction aboutie]=True,1,0)) AS Abouties/Count(AFFAIRES.Réfaffaires) AS Enregistrées AS [taux d'échec]
    ...

  9. #9
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 595
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 595
    Points : 34 265
    Points
    34 265
    Par défaut
    et avec ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sum(IIf(AFFAIRES.[Transaction aboutie]=True,1,0)) AS Abouties, 
    Count(AFFAIRES.Réfaffaires) AS Enregistrées,
     Sum(IIf(AFFAIRES.[Transaction aboutie]=True,1,0)) / Count(AFFAIRES.Réfaffaires) AS [taux d'échec]
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  10. #10
    Débutant  
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    887
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 887
    Points : 206
    Points
    206
    Par défaut
    C'est cool, ça marche

    Grrrrrrrr ça m'agace !
    J'ai ajouté les AS alors qu'il ne fallait pas. Je pensais bien faire pour une fois, en faisant attention de tout reprendre comme il faut.

    Merci Jpcheck

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

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Réponses: 1
    Dernier message: 30/08/2011, 09h53
  3. probleme avec l'appui sur une touche sur une jframe ou jdialog
    Par jeanfeu dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 05/08/2008, 16h14
  4. [VBA Excel] Appliquer une macro sur une celulle contenant une valeur
    Par tchauviere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/01/2008, 10h21
  5. Réponses: 3
    Dernier message: 16/01/2006, 16h02

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