Bonjour.
Comme tu ne semble pas avoir de "formule" globale applicable à toutes conditions, le plus simple est de faire une requête par critère :
Donc
- une requête qui sélectionne les modèles N1 avec moins 20 K$,
- une requête qui sélectionne les modèles N1 avec plus de 20 K$,
- une requête qui sélectionne les modèles N2 NB,
- une requête qui sélectionne les modèles N2 Couleur
Sinon tu peux aussi grouper et ne faire qu'une seule requête pour les N1 et une pour les N2.
Ou tu peux faire une fonction VBA (le langage de programmation de Access) qui va traiter tes 4 cas.
Quelque chose comme :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| public function CalculerPrix(prmModele as string, prmKM as double, prmCouleur as string) as double
dim result as double
select case prmModele
case "N1"
if prmKM<=20000
result=60
else
result=55
end if
case "N2"
if prmCouleur="NB" then
result=50
else
result=70
end if
case else
result=-10000000 'Pour signaler une erreur
end select
CalculerPrix=result
end function |
Ça s'appelle ensuite comme une des fonctions intégrées d'access :
Prix : CalculerPrix([Modele]; [Km]; [Couleur])
Et tu peux aussi le faire avec des iif() imbriqués mais ça peut devenir rapidement illisible.
Ici ce que cela pourrait donner :
iif([Modele]="N1"; iif([Km]<=20000; 60; 55); iif([Modele]="N2"; iif([Couleur]="NB"; 50; 70); -100000)))
A+
Partager