Bonjour,

Une seconde question qui me pose problème, avec la bdd sur laquelle je travaille.

Table principale

Champ "Code"
4 valeurs possibles : PP 1, PP0, PP DP1, PP DP0
PP1 et PP0 correspondent à une prestation de type "PP"
PP DP1 et PP DP0 correspondent à une prestation de type "PP" ET une prestation de type "DP"

Champs "Fin PP" et "Fin DP"
Il s'agit de date indiquant la fin de la prestation type "PP" et la date de fin de prestation type "DP" (qui reste vide si il n'y a pas de prestation DP). Ce sont ces dates qui sont prises en compte pour déterminer dans quel mois l'enregistrement sera comptabilisé.

Avec tout ça je dois produire un état qui ressemble à ceci


Janvier X Y
Février
Mars
Etc

Où X et Y sont respectivement le nombre de PP et de DP correspondant à la période donnée.

Je vois bien comment isoler par requête les enregistrement par période de temps mais je ne trouve pas de système simple pour comptabiliser les prestations (nbre de PP et nbre de DP). J'imagine que je dois passer par deux nouveaux champs dérivant de mes codes et donnant quelque chose du genre

SI CODE = PP 0 ou PP 1 ALORS PP=1 ET DP = 0
SI CODE = PP 0 DP 0 ou PP 1 DP 1 ALORS PP=1 ET DP = 1

J'imagine que ça passe par une requête SQL mais j'ai du mal à la formuler.

Ensuite, je compte le nombre d'enregistrements PP et DP sur la période donnée pour avoir mes chiffres. Enfin je crois et je ne sais pas bien comment ça se met en pratique (mais je vais bouquiner sur ce sujet pour mieux connaître la fonction Count. EDIT : je dis n'importe quoi, je dois faire une simple somme si j'arrive à produire les champs PP et DP mentionné précédemment. Ce qui est au final plus simple.

Si quelqu'un pouvait m'aider à mettre tout ça en pratique et en syntaxe, ça m'aiderait bien. Merci.

EDIT : je tente la requete ci-dessous pour obtenir des valeurs PP et DP à additionner mais je dois me tromper quelque part Je suis un noob, j'ai oublié une virgule ^^

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT ROOT.NumFacture, 
IIF(Code = "PP 0" OR Code = "PP 1" OR Code = "PP DP 1" OR Code = "PP DP 0","1","0") AS PP
IIF(Code = "PP DP 1" OR Code = "PP DP 0","1","0") AS DP
FROM ROOT;