[access] Cmt use si alos dans un champ

duflojonat Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Warrius Messages postés 33 Statut Membre -
bonjour.. voila, je dois faire une basse de donnée client, où jdois etre calculer une note par client en fonction du délai entre leur derniere visite ,et la date d'extraction du fichier.. pour sa c'est bon.. mais pour attribuer la note je galere..
en faite , si le client est venu dans les 15 derniers jour , il a une note de 3, si c'est entre 15 et 30 jours ça note est de 2 , si c'est 30et 60 jour note= 1 , si + de 60 jours alors note=0...
et comme je ne sais pas programmer sous basic.. je dois ecrire l'expression dans un champ...
pouvez vous m'aider svp merci

3 réponses

Warrius Messages postés 33 Statut Membre 5
 
Il me semble que la fonction que tu cherches est :

3 - Int((NombreDeJours+1)/15)

"Int" récupérant la partie non décimale de la division. D'après mes souvenirs, c'est bien le nom de la fonction mais je n'en suis plus sûr à 100%.

Ensuite, il faut rajouter une fonction similaire à "Iif" qui permette de limiter le résultat à une valeur supérieure ou égale à zéro. En gros, un truc du style :

Note = Iif(Note<0, 0, Note)

J'ai bon ?
0
duflojonat Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
je n'avais pas vu le prolbleme comme sa... en faite se que j'ai fais sé que j'ai pris la date d'extraction du fichier que j'ai soutrait a la date de dernier visite...j'ai donc une valeur par cliet correspondant a la durée depuis leur dernier visite... il me faut ensuite aplliquer la regle...
de plus si tu ne compren pas bien le sujet peu tu m'expliquer comment marche cette fonction "Iif"... merci
0
Warrius Messages postés 33 Statut Membre 5
 
J'ai pourtant l'impression d'avoir compris ta question. Avec cette formule, je retrouve la note que tu désires attribuer en fonction du nombre de jours.


la fonction Iif est très utile :

Iif(test, a, b)

La fonction teste le "test" (logique), et renvoie a si le test est vrai, et b si le test est faux.

L'exemple avec la note dans mon autre message rend l'explication limpide, il me semble.
0