IIf (Date supérieure à une autre)

ElvisRocks Messages postés 13 Statut Membre -  
 Tessel75 -
Bonjour,

Je souhaite que selon la date en cours, apparaissent un critère vrai / faux.
Dans ma requête, j'ai un champ " Maintenant : Date() "
et un autre :

VraiFaux([Maintenant]>#2/2/2015#,Oui,Non)

Cela me donne "0" en résultat.
Quelqu'un sait-il pourquoi ça ne fonctionne pas ?
Mercii !

1 réponse

  1. Teessel75
     
    Bonjour,
    La syntaxe de Iif"" est la même que "si()" en Excel. C'est à dire qu'il faut le lire : " Si A est vrai alors vaut A sinon vaut B"
    Ta présentation n'est vraiment pas claire quant à ce que tu veux obtenir. En même temps, il faut faire attention parce que "Maintenant" existe en Access et est équivalent à "Now" qui vaut la date et l'heure exacte de la saisie. C'est donc une très mauvaise idée d'avoir un champ qui s'appelle ainsi.
    Et aussi "Oui = -1" et "Non = 0"
    Alors quand tu écris "VraiFaux([Maintenant]>#2/2/2015#,Oui,Non)"
    C'est normal que tu obtiennes "0" en résultat.
    Si tu veux qu'Access t'écrive "Oui" et "Non" en toutes lettres, il faut écrire avec des guillemets "Oui" et "Non"
    Bonne suite
    0
    1. ElvisRocks
       
      rebonjour,

      En effet ça fonctionne beaucoup mieux avec les guillemets ! t j'ai suivi tes conseils à propos du "maintenant". En fait je cherche à calculer des charges en fonction de la date en cours. Si je suis en avril, je calcule de tant à tant, si je suis en mai, je calcule de tant à tant.
      Je vais utiliser la fonction Mois() pour me simplifier la vie et écrire qqchose du style Iif ( Mois(Date()))>4, mon calcul, iif(( Moi (date()) etc etc

      merci !
      0
      1. Tessel75 > ElvisRocks
         
        Bonne suite
        0