Probléme sur une requéte

Résolu/Fermé
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 - 3 févr. 2020 à 21:11
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 - 5 févr. 2020 à 16:49
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

yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024 1 507
3 févr. 2020 à 21:51
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.
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51
3 févr. 2020 à 22:36
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
yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024 1 507 > ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023
3 févr. 2020 à 23:21
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
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51
4 févr. 2020 à 07:26
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.
yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024 1 507
4 févr. 2020 à 08:56
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
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51
4 févr. 2020 à 09:26
J'ai fais un copier/coller, mais problème syntaxe
yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024 1 507
4 févr. 2020 à 09:43
on dirait que le point est devenu une virgule.
0
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51
Modifié le 4 févr. 2020 à 11:21
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.
yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024 1 507
4 févr. 2020 à 11:23
peut-être en remplaçant la virgule par un point-virgule?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51
4 févr. 2020 à 11:51
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.
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51
4 févr. 2020 à 20:46
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.
yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024 1 507
5 févr. 2020 à 10:06
il y a une virgule en trop avant le FROM
0
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51 > yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024
5 févr. 2020 à 13:52
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
yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024 1 507 > ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023
5 févr. 2020 à 15:44
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
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51 > yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024
5 févr. 2020 à 16:32
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
ChrisPF13 Messages postés 220 Date d'inscription dimanche 7 octobre 2018 Statut Membre Dernière intervention 14 août 2023 51 > yg_be Messages postés 23020 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 24 juillet 2024
5 févr. 2020 à 16:49
Ton SQL fonctionne très bien, je vais l'étudier afin d'essayer d'en comprendre le fonctionnement.
Merci encore
0