Access 2003 : condition IF sur un champ

Résolu/Fermé
sebbiker Messages postés 9 Date d'inscription samedi 23 décembre 2006 Statut Membre Dernière intervention 12 août 2009 - 15 févr. 2007 à 15:44
 Salsero77 - 23 févr. 2008 à 03:23
Bonjour,
Je suis débutant en programmation Access 2003 et je ne sais pas programmé ceci dans un formulaire :
j'ai : 1 champ "facturation", 1 champ "marge brute", 1 champ "marge nette", 4 autres champ.
Ce que je voudrai pour le champ "Marge Nette":

SI facturation = 0 ALORS marge nette = marge brute
SINON marge nette = (formule de calcul basée sur les 4 autres champs (que des additions ou soustractions))

Je me suis essayé à programéé ça mais rien n'a fonctionné.

Je vous remercie pour le coup de main.

Seb

5 réponses

Plusieurs chose me semble trouble dans ton raisonementl mais bon je suis pas sepcialiste en compta :

La marge brute n'est pas issu d'un calcul lequel d'après ta manière de le décrire??? cela m'étonne !
Tu mets une valeur en euros à la facturation et pas un oui/non ? si tu met une valeur en euro pourquoi elle ne rentre pas en ligne de compte dans un calcul ?

disons que la marge brute a une valeur à rentrer dans un champs et que la facturation n'a pas une valeur de non mais un chiffre

pour ma part je ferais la ligne de commande comme suis dans une champs libre de la requête (rentrée ou se trouve les titres des champs) :

Marge nette : VraiFaux([Facturation]=0;[Marge brute];([prix1]-[pris2])+([cout1]-[cout2])+[prix bonus])
2
sebbiker Messages postés 9 Date d'inscription samedi 23 décembre 2006 Statut Membre Dernière intervention 12 août 2009 2
15 févr. 2007 à 17:01
C'est pas vraiment ça.
Je souhaite connaître comment exprimé cette condition :
La valeur de "marge nette" est fonction de cette condition :

SI "facturation" = 0 ALORS "marge nette" = "marge brute" (en fait la "marge nette va prendre la valeur de la marge brute)

SI NON (donc "facturation" = une valeur en €)
"marge nette" = ((prix1 - prix2)+(couts1-couts2)+prix bonus)

Voilà ce que j'ai besoin.

Merci de m'aider à traduire ça en langage access.

Seb
2
Bonsoir,

Sauf malentendu, cela devrait ressembler à ceci :

=iff([facturation] = 0 ; [Marge_Nette] = [Marge_Brute] ; [Marge_Nette]= ([prix1] - [prix2])+ (([couts1])-([couts2])+[Prix_Bonus) )

Le premier ";" signifie "alors"
Le deuxième ";" signifie " Sinon"


NB : Je n'ai procédé à aucun essai

Cordialement
2
Bonjour,

Dans le formulaire qui récapitule les données, il convient de créer un champ texte, dans lequel sont effectués les calculs arithmétiques :

Voici un exemple : (celui de l'aide en ligne) que vous adapterez.

= IIf([Montant] > 1000, "Élevé", "Modeste")


Attention : dans ce contexte, le résultat des calculs n'est pas enregistré dans la table sous-jacente.

Nota : Ces indications concernent Access 2000
1

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

Posez votre question
sebbiker Messages postés 9 Date d'inscription samedi 23 décembre 2006 Statut Membre Dernière intervention 12 août 2009 2
15 févr. 2007 à 18:23
Re,

OK je teste et je vous dis demain matin.
Merci d'avance.

Sébastien
0