Probléme sur une requéte

Résolu
ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   -  
ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un PB avec une requête sous ACCESS 2016.
En bas de la pièce jointe, le résultat.
En 1, j'ai deux mois donc 2 lignes. C'est bon.

En 2, je devrais avoir deux mois, donc 2 lignes,
mais je n'ai que le mois 1 qui sort.
Ma liaison entre R_EnrBASE et 3_HorsBudget est bonne.
Par contre, je n'ai pas eu de dépense en Hors budget sur les 2 mois.

Ma question:
Y'a t'il une manipulation que je puisse faire afin que même avec un Hors Budget à 0,
je puisse avoir mes 2 mois en résultat.

Merci d'avance pour vos réponses.
Cordialement

6 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, je pense que tu peux y arriver en cliquant avec le bouton de droite sur la relation entre les deux tables (la ligne dans l'image 2), éditer les propriétés de la relation, puis éditer le type de jointure, et ensuite préciser que tu veux tous les enregistrements de R_EnrBASE.
    1
    1. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53
       
      Re bonsoir
      J'ai bien les 2 mois qui s'affiche, mais comme tu le vois dans l'image, j'ai une case vide. Donc, lorsque je veux calculer , le résultat ne s'affiche pas. Si tu as une idée? Merci d'avance.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention  
         
        cela me semble normal qu'elle soit vide. que voudrais-tu à la place de la case vide?
        nous pourrions communiquer plus facilement si tu partageais la syntaxe SQL de ta requête.
        tu pourrais peut-être utiliser
        NZ(HB2,0)
        0
  2. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53
     
    Bonjour yg_be

    PAIES-HB2=RestPAIES



    Mon SQL
    SELECT [3_PaiesMensuel].MOIS, [3_PaiesMensuel].PAIES, [3_DepenMensuel].HB2, [PAIES]-[hb2] AS RestPAIES
    FROM 3_DepenMensuel INNER JOIN 3_PaiesMensuel ON [3_DepenMensuel].MOIS = [3_PaiesMensuel].MOIS
    GROUP BY [3_PaiesMensuel].MOIS, [3_PaiesMensuel].PAIES, [3_DepenMensuel].HB2, [PAIES]-[hb2];

    Je précise que je n'utilise pas le code SQL, car je ne connais pas du tout.

    Merci d'avance pour ta réponse.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      suggestion, utiliser
      NZ(HB2,0)
      :
      SELECT [3_PaiesMensuel].MOIS, [3_PaiesMensuel].PAIES, NZ(3_DepenMensuel.HB2,0) as HB2, 
      [PAIES]-NZ(3_DepenMensuel.HB2,0) AS RestPAIES
      FROM 3_DepenMensuel INNER JOIN 3_PaiesMensuel 
      ON [3_DepenMensuel].MOIS = [3_PaiesMensuel].MOIS
       ;
      0
  3. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53
     
    J'ai fais un copier/coller, mais problème syntaxe
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      on dirait que le point est devenu une virgule.
      0
  4. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53
     
    Non, c'est moi qui t'es induit en erreur, j'avais essayé de remplacer le point par une virgule lors de mon essai et j'ai transmis la mauvaise image.
    Je te mets le bon imprimecran.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      peut-être en remplaçant la virgule par un point-virgule?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53
     
    Avec le ; cela ne fonctionne pas, donc en essai, j'ai renommé 3_DEPENMensuel en DepenMensuel et ça marche.

    SELECT [3_PaiesMensuel].MOIS, [3_PaiesMensuel].PAIES, Nz(DepenMensuel.HB2,0) AS HB2, [PAIES]-[hb2] AS RestPAIES
    FROM DepenMensuel INNER JOIN 3_PaiesMensuel ON DepenMensuel.MOIS = [3_PaiesMensuel].MOIS;

    il y'a beaucoup de chiffres après la virgule, mais ils sont là et le calcul est bon.
    Je vais revoir mon post (2) et essayer d'intégrer NZ(HB2,0).
    Je te tiens au courant par la suite.
    Merci encore, je progresse doucement, mais surement.
    0
  7. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53
     
    Bonsoir yg_be
    J'ai essayé de comprendre, etc....mais bon, ça marche pas mon truc.
    Je te mets le détail en image.

    Je te mets le SQL que j'ai essayé de faire

    SELECT ADepenMensuel.MOIS, [DEP]-[HB2]-[VAC2], NZ(DEP-HB2-VAC2.depreel,0) as depreel,
    ADepenMensuel.DEP, NZ(DEP.DEP,0) as DEP,
    ADepenMensuel.HB2, NZ(HB2.HB2,0) as HB2,
    AdepenMensuel.VAC2, NZ(VAC2.VAC2,0) as VAC2,
    FROM AdepenMensuel;

    Par contre, je ne voudrais pas abuser.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      il y a une virgule en trop avant le FROM
      0
      1. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Bon, j'ai enlevé la virgule, c'est pire.
        Je te mets une copie de ma base. https://www.cjoint.com/c/JBfmXjkkuwj
        Tu pourras m'expliquer les erreurs que j'ai commis.
        J'ai enlevé tous ce qui n'est pas utile pour mon problème.
        Ne te prends pas le chou, et merci pour ta patience.
        0
      2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention  
         
        1) le fichier n'inclut pas la requête qui pose problème, et la requête que tu montres en #11 n'est plus compatible avec le fichier, tu as fait plusieurs modifications entre-temps (AdepenMensuel n'existe pas).
        suggestion:
        SELECT ZEnrBASE.MOIS, Sum(ZEnrBASE.DEBIT) AS DEP, nz(AHorsBudget.HB2,0) as HB2, nz(AVacances.VAC2,0) as AVC2, 
        Sum(ZEnrBASE.DEBIT)-nz(AHorsBudget.HB2,0)-nz(AVacances.VAC2,0) as depreel
        FROM AVacances RIGHT JOIN (AHorsBudget RIGHT JOIN ZEnrBASE ON AHorsBudget.MOIS = ZEnrBASE.MOIS) ON AVacances.MOIS = ZEnrBASE.MOIS
        GROUP BY ZEnrBASE.MOIS, AHorsBudget.HB2, AVacances.VAC2;

        2) en général, je comprends ce que tu fais, et je ne le ferais pas ainsi. difficile d'être plus précis, comme tu n'as pas expliqué le résultat final auquel tu voudrais arriver.
        3) probablement pour bien présenter tes données, tu ajoutes, via des requêtes, des colonnes par catégorie ou groupe de catégorie. c'est, en général, à éviter.
        4) même si j'ajoutais des champs spécifiques aux catégories, je n'utiliserais pas de requête comme tes requêtes "A...", je ferais cela plutôt dans la requête "Z", en utilisant la fonction iif, ou bien dans une requête qui fait un résumé mensuel sur base de la requête Z, en y ajoutant des colonnes spécifiques aux catégories.
        5) pour éviter les problèmes d'arrondi, tu peux peut-être essayer de déclarer les montants comme des "monétaires" dans la table.
        0
      3. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Effectivement, à force de faire des essais, je sais plus trop ou j'en suis.
        Je vais remettre tout cela à plat en tenant compte de tes observations.
        C'est un budget perso que j'essaye de faire pour moi, mais surtout me familiariser avec ACCESS.
        Merci encore de t'être pencher sur mon PB.
        Je vais clore la discussion et relancerais une autre discussion si je galère.
        Bonne fin d’après-midi.
        0
      4. ChrisPF13 Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   53 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Ton SQL fonctionne très bien, je vais l'étudier afin d'essayer d'en comprendre le fonctionnement.
        Merci encore
        0