Requete SQL access en VB6 : calcul nb de jours entre deux dates

irnbru Messages postés 4 Date d'inscription mardi 30 septembre 2003 Statut Membre Dernière intervention 29 mars 2005 - 24 oct. 2003 à 18:18
gchery Messages postés 6 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 26 janvier 2007 - 24 oct. 2003 à 18:46
bonjour a tous, j'ai besoin d'une requete SQL pour calculer le nombre de jours du "retard" entre une date d'échéance et la date d'aujourd'hui.

J'ai réussi à faire en partie la requête SQL mais mon pb est que quand le nombre de jours est négatif.

par definition

nb de jours du retard = date aujourd'hui - date echeance

1)le nb de jours du retard est positif SI on est en retard
2)le nb de jours du retard est négatif SI on est dans le temps.

j'aimerai que dans le cas 2) SQL renvoit le nombre 0 et non des nombres négatifs!

ma requete SQL est

select *,date()-[date echeance reponse] as NBJOURS" & _
" from table................

où date() est un fonction SQL pour renvoyer les date d'auj et
[date echeance reponse] est la date d'échéance stockée dans la table

y a t il un moyen en SQL de faire un truc du genre

IFF(NBJOURS<0,0,NBJOURS)

à savoir

si NBJOURS négatif SQL renvoit 0 dans la colonne NBJOURS

sinon SQL renvoit NBJOURS tel qu'il est calculé par SQL de access, merci de m'aider pleaaaaaaaaaaase :big)

merci à tous, patricia

2 réponses

cs_ludo24 Messages postés 37 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 12 juillet 2007
24 oct. 2003 à 18:34
En SQL, soit tu recuperes des data avec l'instruction Select,
soit tu enregistres/modifies des data avec l'instruction Update.

Mais tu ne peux pas faire les 2 en meme temps.

Tu pourrais faire:
UPDATE Table SET NBJOURS= 0 WHERE NBJOURS<0;

Mais sache qu'ainsi, les données de ta table seront modifiées.
0
gchery Messages postés 6 Date d'inscription mardi 7 octobre 2003 Statut Membre Dernière intervention 26 janvier 2007
24 oct. 2003 à 18:46
essai ceci

a= format(date,"00000") 'date est la date actuelle
b= format(tadate"00000) 'ta date est la date d'echéance
nbjour = a-b
voila j'espère que ça t'aidera
gchery
0
Rejoignez-nous