Nakemeg
Messages postés4Date d'inscriptionsamedi 20 juin 2009StatutMembreDernière intervention26 novembre 2009
-
24 nov. 2009 à 13:13
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 2014
-
26 nov. 2009 à 22:09
Bonjour à tous,
J'ai un petit problème avec une expression dans ma requête. J'ai une expression nommée "Nb mois brut" qui me calcule un nombre de mois entre deux dates le résultat comporte deux décimales. Avec ce résultat je dois créer une autre expression pour déterminer le "Nb de mois acquis". Ce nombre de mois acquis diffère selon les conditions suivantes :
Si Nb mois brut <1 alors Nb mois acquis 0
Si Nb mois brut >1<=2 alors Nb mois acquis = 1
Si Nb mois brut >2<=3 alors Nb mois acquis = 2
Si Nb mois brut >3<=4 alors Nb mois acquis = 3
Si Nb mois brut >4<=5 alors Nb mois acquis = 4
Si Nb mois brut >5<=6 alors Nb mois acquis = 5
Si Nb mois brut >6<=7 alors Nb mois acquis = 6
Si Nb mois brut >7<=8 alors Nb mois acquis = 7
Si Nb mois brut >8<=9 alors Nb mois acquis = 8
Si Nb mois brut >9 alors Nb mois acquis = 9
J'ai procédé de la sorte :
Nb mois acquis: VraiFaux([Nb mois brut]<="1";"0";VraiFaux([Nb mois brut]>"1"<="2";"1";VraiFaux([Nb mois brut]>"2"<="3";"2";VraiFaux([Nb mois brut]>"3"<="4";"3";VraiFaux([Nb mois brut]>"4"<="5";"4";VraiFaux([Nb mois brut]>"5"<="6";"5";VraiFaux([Nb mois brut]>"6"<="7";"6";VraiFaux([Nb mois brut]>"7"<="8";"7";VraiFaux([Nb mois brut]>"8"="9";"8";VraiFaux([Nb mois brut]>"9";"9";""))))))))
Malheureusement le résultat me renvoie 1 systématiquement.
Est ce que quelqu'un pourrait me donner une indication SVP je n'arrive pas à trouver de solution.
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 20144 24 nov. 2009 à 15:28
bonjour,
tes conditions devraient s'écrire
>"1" and <="2"
et puis tu peux simplifier, car quand tu testes >"1" tu es dans le 'else' du test <="1" donc c'est certain. contente toi du <="2".
tu es certain de devoir mettre des guillements ?
Nakemeg
Messages postés4Date d'inscriptionsamedi 20 juin 2009StatutMembreDernière intervention26 novembre 2009 26 nov. 2009 à 06:20
Un grand merci à vous deux pour vos réponses !
tpointsot, j'ai suivi ton conseil et en effet il fallait que je me contente de mettre <="2" etc et ça fonctionne parfaitement. Pour les guillemets ils ne sont pas nécessaire en effet.
Par contre j'ai voulu tester ta deuxième solution
[Nb mois acquis] = max(0,-min(int(-[Nb Mois brut]),9)) malheureusement ça ne fonctionne pas il me dit que la syntaxe n'est pas valide pourrais tu me donner une explication détaillée de l'expression stp.