Effectuer un calcul sous acces

louzz -  
 louzz -
Bonjour,
j'ai actuellement un soucis,

Je cherche a effectuer un calcul en utilisant des champs de mon formulaire.
J'arrive à effectuer ces calculs cependant j'ai du les mettre dans la case 'source controle' ce qui m'empeche d'écrire dans ma table.
Comment faire pour écrire ces valeur aussi dans la table lorsque je clic sur un bouton pour enregistrer.

De plus je voudrai faire un calcul différent si dans une case je choisit 1 de mes 3 choix possible.
Que faire?

Merci d'avance
A voir également:

8 réponses

fourvin Messages postés 286 Statut Membre 102
 
Bonjour,

si tu veux mettre un champ à jour, il faut utiliser une requête "Mise à jour" !

Pour un calcul conditionnel, il faut que tu utilises, dans "Source Control", la fonction conditionnelle iif(..., ..., ...).
Par exemple : iif([champ]=1, [a]+[b]+[c], 0).
Sinon, quand tu maitriseras mieux et si tu as des besoins de calculs plus complexes, tu pourras passer par la création d'un fonction en VBA pour calculer la valeur choisie.

L'aide d'Access doit pouvoir t'apporter les compléments d'info nécessaires.

J'espère que ça t'aide.
0
louzz
 
Oui ca m'aide un peu,
mais le soucis si je met mon iif(...,...,...) dans source controle à ce moment plus rien s'écrit dans ma table si j'ai bien compris le système de source controle.
Pour ce qui es de la requete mise a jour j'y avais pas penser mais je vais m'y pencher dessus en effet.

Merci de ton aide si rapide en tout cas ;)
0
fourvin Messages postés 286 Statut Membre 102
 
Tu ne peux écrire dans ta table qu'au moyen d'une requête "Mise à Jour" (ou un UPDATE en SQL).

Je n'ai pas d'accès à Access (!) en ce moment, donc je ne peux tester, mais en fait je crois que dans "Source Control", il faut mettre un signe "égal" devant le iif() : "=iif(..., ..., ...)"
0
louzz
 
J'essaye de mettre ceci dans source code

=iif([typebob]=136,[qteàbobiner]/[136]+0.5*1.2)

cette fonction me met le message suivant:
La syntaxe de l'expression entrée n'est pas correcte.
Vous avez peut etre entré un opérande sans opérateur.

Moyen de m'aider?
Merci d'avance.

ps: j'ai rien compris aux requete encore va falloir que je regarde vraiment en détail du mal a comprendre ce que je peut faire.
0

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

Posez votre question
fourvin Messages postés 286 Statut Membre 102
 
Oui,il manque apparemment le dernier membres de la condition : iif(condition est vraie, alors..., sinon...)

Pour les différents types de requêtes, c'est a priori assez simple. Fais des essais sur des tables temporaires. Consulte l'aide également, ça peut aider. Sous quelle version d'Access es-tu ?
0
louzz
 
la seule chose que je suis arrivé a faire est:

=VraiFaux([typebob]=136;([qteàbobiner]/[136]+0,5)*1,2;0)

cependant le problème c'est que j'ai trois 3 au total voir peut etre plus dans l'avenir :s...
Je pourrait mettre mon 2e choix avec le sinon mais pas le troisième voir plus.
Le vrai faux se met automatiquement apres avoir fini ma commande iif.

Je suis sous acces 2003.
0
louzz
 
Je suis arrivé a quelque chose avec
=VraiFaux([typebob]=136;([qteàbobiner]/[136]+0,5)*1,2;VraiFaux([typebob]=408;([qteàbobiner]/[408]+0,5)*1,2;([qteàbobiner]/1450+0,75)))

Cependant la 3e condition me met #erreur une fois que j'exécute sur mon forumlaire à la place de la valeur, les calculs fonctionne bien pour les autres mais pas pour le dernier et je n'arrive pas a comprend d'ou ca peut venir.
0
louzz
 
c'est bon j'ai résolu mes problèmes merci pour ton aide fourvin.
0