Rechercher : dans
Par :

Requête conditionnelle sous Access 2003

Dernière réponse le 16 jun 2008 à 16:07:22 nicky, le 8 nov 2007 à 13:24:23 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Internet Explorer 6.0

1

blux, le 8 nov 2007 à 13:40:22

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 :

http://www.google.fr/search?hl=fr&q=fonction+iif+access+blux+site%3Awww.commentcamarche.net&btnG=Recherche+Google&meta=

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

nicky, le 8 nov 2007 à 15:18:48

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

Répondre à nicky

3

blux, le 8 nov 2007 à 15:24:02
  • +1

Iif((toto = 0 and titi = 0),...,....)

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

4

Nicky, le 8 nov 2007 à 15:52:17

Merci beaucoup !

Cela fonctionne à merveille.

Répondre à Nicky

5

Salsero77, le 23 fév 2008 à 03:47:00

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)

Répondre à Salsero77

6

blux, le 23 fév 2008 à 08:42:44

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.

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

9

baroundiaye08, le 8 mai 2008 à 21:30:07

Tu oses accusé les gens de cons
t'es fourré jusqu'au peids
cloche

Répondre à baroundiaye08

10

blux, le 9 mai 2008 à 09:40:37

???

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

7

BAROU, le 6 mai 2008 à 21:21:48

Comment pourrais-je le faire

Répondre à BAROU

8

blux, le 7 mai 2008 à 21:06:44

Faire quoi ?!

A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

11

marshmallow, le 10 jun 2008 à 11:26:20

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

Répondre à marshmallow

12

 Nicolix, le 16 jun 2008 à 16:07:22

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

Répondre à Nicolix
Collection CommentÇaMarche.net