Access mettre un calcul dans un champ
Résolu
anocheda
Messages postés
55
Statut
Membre
-
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
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:
- Access mettre un calcul dans un champ
- Calcul moyenne excel - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
- Acer quick access ✓ - Forum PC portable
- Access runtime ✓ - Forum Access
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
3 réponses
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.
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.
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???
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???
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
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
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+
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+
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