Access mettre un calcul dans un champ

Résolu
anocheda Messages postés 55 Statut Membre -  
anocheda Messages postés 55 Statut Membre -
Bonjour,

J'ai cree un formulaire a partir d'une table.
dans ce formulaire j ai cree un zone de texte qui me fait des calculs compliqués en utilisant des champs d'autres table (autre que celle pour faire mon formulaire).
Je voudrai juste recuperer la valeur de mon calcul dans un champ; en gros je veux le retrouver dans ma premiere table et je sais pas comment faire...
ca ma l air assez simple mais je trouve pas

merci pour l aide

Antoine
A voir également:

3 réponses

LatelyGeek Messages postés 1759 Statut Membre 550
 
Il faut que quelque part, sur un bouton par exemple, ou sur la propriété Après MAJ d'un des champs qui rentre dans ton calcul, tu écrives

Me!Résultat.Value = Me!Calcul.Value

Résultat étant le champ de la table, et Calcul la zone de texte du formulaire qui contient le résultat du calcul.
0
anocheda Messages postés 55 Statut Membre 3
 
Salut lately ca fait plaisir d'avoir quelqu un toujours present pour m'aider!!!
je comprend pas tres bien l'aide ce coup si

le champ dans ma table s'appel :

RiskRankingbm

et le texte ou il y a le calcul

RiskRankingbmcalc

du coup je marque Me!RiskRankingbm.Value = Me!RiskRankingbmcalc.Value
je l'ai mi un peu partout dans mais données, toujours dans Apres MAJ mais il se passe rien
en fait je sais pas trop ce que c'est Apres Maj du coup je sais pas du tout ou le mettre

est ce que la syntaxe est bonne et si oui ou faut il le mettre

en tous cas lately un grand merci pour tout
0
LatelyGeek Messages postés 1759 Statut Membre 550
 
Bonjour à toi.

J'ai supposé que tu devais rentrer certaines valeurs dans le formulaire, qui influaient sur le calcul du résultat. Mais ça n'est peut-être pas le cas.

Si c'est le cas il faut procéder comme je t'ai dit.
Imaginons - exemple simplissime - que tu veuilles calculer le montant d'une commande et écrire ce montant dans la table Commandes.

Tu choisis un CodeArticle, la désignation et le prix unitaire viennent de la table Articles.
Quand tu saisis une quatité, le calcul se fait à l'écran dans le sous-formulaire ([CalcMontantDétail] = [Qté]*[PUHT]) et la somme se recalcule dans le pied du sous-formulaire ([CalcMontantTotal] = Somme([CalcMontantDétail]). Tu récupères ce montant dans le formulaire principal (MontantCalculé=Forms!CommandesSF.Form!CalcMontantTotal)

A ce moment là, sur la propriété Après MAJ de ton champ Qté, tu écris Me!MontantCommande.Value = Me!MontantCalculé, pour que le nouveau montant s'écrive à chaque nouvelle saisie de quantité.

Mais si ton formulaire se contente de faire les calculs sans que tu aies à saisir de nouvelle valeur, deux solutions:
Soit tu crées un bouton qui écris le montant quans tu cliques dessus (Propriété Sur clic)
Soit, si tous les enregistrements sont concernés, tu crées une requête Mise à jour qui écrira le montant calculé dans tous les enregistrements sans passer par le forrmulaire

Ai-je été assez claire, où tu veux que je détaille???
0
anocheda Messages postés 55 Statut Membre 3
 
Salut lately,

Bon je suis un peu dans le premier cas mais j arrive pas a faire ce que tu dis:

j ai trois champs : propa, cout et delay
j ai 4 tables: proba, cout, delay et une table principale avec pleins d info
dans les table proba cout et delay j ai a chaque fois un champ 1 et champ 2
le premier represente une valeure et le deuxieme un coef associé
pour proba par exemple j ai

champ 1 Champ2
10% 1
30% 3
50% 5...

dans ma table principale j ai un champ RANKING c est le champ que je veux remplir automatiquement.

bon

dans mon formulaire je fais un calcul qui somme les coefficient associés a mes champs proba cout et delay

par exemple dans mon formulaire si je rentre proba: 10 % (champ 2 dans la table proba =1)
cout: > 10 000 (......................=2)
delay: > 3 mois (......................=5)

j ai mon calcul "score" qui fait la somme des coef associés : score = 1 + 2 +5
pour faire cette somme j utilise la fonction RECHDOM parceque le coef fait pas parti de ma table principale..

ensuite dans une autre case de mon formulaire j ai un texte Rang qui me donne la valeur I si score et compri entre 0 et 12, II si entre 12 et 30 et III si entre 30 et 48 ...

Voila ce que j aimerai c que dans mon champ RANKING, j ai la valeur de Rang (I,II,III ou IV) chaque fois que je rajoute une proba ou un cout

du coup j ai mit dans le champ proba dans Apres MAJ

Me!MRanking.Value = Me!Rang

mais il se passe rien...
je l ai mi egalement dans mon sous calcul score et dans les autres y se passe rien

est ce qu il y a un probleme a cause de la fonction RECHDOM ou est ce que c'est mal ecrit??

merci mon bon lately
0
anocheda Messages postés 55 Statut Membre 3 > anocheda Messages postés 55 Statut Membre
 
en fait il me dit quand je rajoute une proba : Access ne peut pas trouver la macro "Me!Ranking..." la macro n existe pas ou n apas ete enregistrée..
0
LatelyGeek Messages postés 1759 Statut Membre 550
 
Tu es allé trop vite. Moi aussi, à vrai dire, j'ai zappé une précision:

Dans la propriété Après MAJ, tu ne peux pas écrire directement Me!Ranking...

Tu dois créer une procédure évenementielle (Clic sur le bouton générateur à trois petits points) et dans le module ainsi créé tu écris Me!Ranking...

Le reste m'a l'air correct à vue de nez, simplement n'oublie pas d'acrire ça dans tous les champs qui influent sur le calcul sinon tu auras des possibilités d'erreur.

A+
0
anocheda Messages postés 55 Statut Membre 3
 
excellent finalement j suis passé par un bouton c est mieux et ca marche par4faitement

merci beaucoup et je t ecri lundi matin pour le prochain probleme....

Non clairement merci pour tout il va finir par etre pas mal du tout mon logiciel
0