Bonjour a tous
je viens vers vous car j'ai un comportement bizarre au niveau de mon code Access voici le code:
1 2
|
IIf([MATDATE]= 0 and Left(([matdate]),1=9),IIf(Weekday(Date()+1)=7,Date()+3,Date()+1),CDate(Left([MatDate],4) & "/" & Mid([MatDate],5,2) & "/" & Right([MatDate],2))) AS 1DF |
Ce qui est etrange c est que malgré que la condition en gras ne soit pas vérifié il execute quand meme l'instruction associée alors qu'il devrai faire la derniere instruction celle avec le "CDate..."
Or il n'entre jamais dans la derniere alors qu il devrait car la majorité des cas n'entre pas dans la condition en gras.
Ce que j'ai fais pour tester cest que j'ai mis un "AND" a la place du "OR" et là il entre bien dans la 2eme mais le probleme c est que j'ai des date avec des valeur genre "9999..." et pour cela il genere une erreur car maintenant il voit pas l instruction du "Left....=9"
comment je pourrai ecrire ce code pour dire clairement SI DATE = 0 ou SI DATE commence par "9" alors "
IIf(Weekday(Date()+1)=7,Date()+3,Date()+1)
" sinon
CDate(Left([MatDate],4) & "/" & Mid([MatDate],5,2) & "/" & Right([MatDate],2)
Partager