Requête conditionnelle sous Access 2003

Fermé
nicky - 8 nov. 2007 à 13:24
 Nicolix - 16 juin 2008 à 16:07
Bonjour,
Je souhaiterais créer une requête conditionnelle sous Access 2003.

Je dispose de :
Une table avec CA 2007, CA 2006, un taux de remise sur CA 2007, un taux de remise sur progression (CA 2007-CA 2006), le tout par client.
Une requête calculant la somme des CA par groupe de clients ([Somme De CA 2007] et [Somme De CA 2006])

Problème :
Je souhaiterais qu'il me calcule le montant de la remise par groupe de clients en tenant compte des conditions suivantes :
si [Somme De CA 2007]<[Somme De CA 2006], alors Remise=[Somme De CA 2007]*[Taux de remise sur CA 2007],
sinon Remise=[Somme De CA 2007]*[Taux de remise sur CA 2007]+([Somme De CA 2007]-[Somme De CA 2006])*[Taux de remise sur progression]

si [Taux de remise sur CA 2007] et[Taux de remise sur progression] sont nuls, afficher champ [Remise fixe]

Merci beaucoup,
Nicky
A voir également:

7 réponses

blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
8 nov. 2007 à 13:40
Salut,

je n'ai pas tout compris, mais tu peux creuser avec la fonction iif :

http://www.commentcamarche.net/forum/affich 994298 requete access#1

On peut bien sûr imbriquer les iif...

Plus d'exemples avec ça :

https://www.google.fr/search?hl=fr&q=fonction+iif+access+blux+site%3Awww.commentcamarche.net&btnG=Recherche+Google&meta=&gws_rd=ssl
0
Re-bonjour,

Merci beaucoup pour le tuyau. Je suis arrivée jusqu'à la moitié, mais je ne sais pas comment appliquer une condition simultanément à deux champs. (c'est ma première tentative d'utilisation du langage SQL)

Dans mon exemple :

Select ...
iif([Remise_CA] "et" [Remise_Progression]=0,....

Comment puis-je exprimer le "et" ?
Je souhaiterais qu'il teste si les deux champs sont nuls pour le même enregistrement.


Merci d'avance !

Nicky
0
blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
8 nov. 2007 à 15:24
iif((toto = 0 and titi = 0),...,....)
0
Merci beaucoup !

Cela fonctionne à merveille.
0
Une question s'il vous plaît :

oki je suis sous access XP

mais la fonction que l'on peut écrire VraiFaux, en anglais s'écrit IFF et je vois dans plusieurs exemple noter iif (vous comprendrais que cela me choque).
Pourriez vous m'expliquer pourquoi vous avez raison ?

(and on peut l'écrire et du reste)
0
blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
23 févr. 2008 à 08:42
Je ne connais pas la fonction iff, je connais seulement la fonction iif, mais elle ne s'écrit pas vrai/faux, c'est une fonction de test complexe et non de test binaire oui/non.
0
baroundiaye08 Messages postés 1 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 8 mai 2008 > blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024
8 mai 2008 à 21:30
tu oses accusé les gens de cons
t'es fourré jusqu'au peids
cloche
0
blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315 > baroundiaye08 Messages postés 1 Date d'inscription mardi 6 mai 2008 Statut Membre Dernière intervention 8 mai 2008
9 mai 2008 à 09:40
???
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
comment pourrais-je le faire
0
blux Messages postés 26490 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 novembre 2024 3 315
7 mai 2008 à 21:06
faire quoi ?!
0
Je ne suis pas un expert en sql mais ça doit être quelque chose comme
iif ([ton champ]<10000 , "50" , [ton champ]*0.005) tous simplement
0
marshmallow
10 juin 2008 à 11:26
bonsoir

voila j un pti blem avec access 2007 et la fonction iif sur un formulaire contenant plusieurs champs calcules je veux que si la valeur d'un champs est inferieure a 10000 $, le valeur 50 doit s'afficher sinon c la valeur du mm champs multipliée par 0.005 qui doit apparaitre mé j y arrive po :s help plz merci pour votre aide
-1