2010-07-02 2 views
0

Je suis en train d'obtenir ce code pour travailler dans les services de reporting 2003:En utilisant l'instruction switch dans les services de rapports pour un champ de date

=switch(
    DateDiff("d", fields!WARRANTY_EXP!value,now()) > 765, "White", 
    DateDiff("d", fields!WARRANTY_EXP!value,now()) > 365, "Yellow", 
    DateDiff("d", fields!WARRANTY_EXP!value,now()) > 0, "Red", 
    DateDiff("d", fields!WARRANTY_EXP!value,now()) < 0, "Gray" 
    ) 

Je suis en train de coder un champ afin que si le champ de date est le passé change la couleur de fond en gris, si cela va être dans l'année suivante puis rouge, et dans les 1-2 prochaines années jaunes. Tout le reste blanc.

J'ai essayé réarranger mais le codage doit être mal quelque part que plus de 2 ans est gris, les dates dans le passé sont jaunes et l'année prochaine est rouge: -S

Un grand merci,

Pierce

Répondre

1

Je pense que vous pourriez avoir vos signes plus grands et moins de mauvais sens, ou votre expression de maintenant() et de champ à l'envers.

Au lieu de

DateDiff("d", fields!WARRANTY_EXP!value,now()) > 0, "Red", 

Essayez

DateDiff("d",now(), fields!WARRANTY_EXP!value) > 0, "Red", 

# Un exemple de l'aide en ligne: - Testez la valeur du champ ImportantDate et retour "Red" si elle est plus qu'un semaine et "Blue" sinon. Cette expression peut être utilisée pour contrôler la propriété Color d'une zone de texte dans un élément de rapport: Copie

= IIF (DateDiff ("d", Champs! ImportantDate.Value, Now())> 7, "Rouge" , "Bleu")

+0

Merci SPE109, utilisé votre suggestion et cela a fonctionné parfaitement. Merci beaucoup, Pierce – Pierce