Menu

Calcul d'un champs Access [Fermé]

zywam 32 Messages postés mercredi 25 juillet 2007Date d'inscription 15 janvier 2011 Dernière intervention - 10 juil. 2008 à 13:33 - Dernière réponse : CaPiT 609 Messages postés lundi 7 janvier 2008Date d'inscription 21 avril 2010 Dernière intervention
- 10 juil. 2008 à 14:31
Bonjour,
Je souhaite qu'un champs de mon formulaire (et donc de la table associée) se calcul automatiquement à partir de 3 autres champs. ça serait une simple addition pour avoir un champs total.
Je n'y arrive pas, quelqu'un peut m'aider svp.
Merci d'avance
A +
Afficher la suite 

4 réponses

CaPiT 609 Messages postés lundi 7 janvier 2008Date d'inscription 21 avril 2010 Dernière intervention - 10 juil. 2008 à 13:51
+2
Utile
2
- Si tu veux afficher le résultat simplement dans ton formulaire, crées une "zone de texte" indépendante, puis dans les propriétés, vas dans "source de contrôle" et écrit:
=[Champs1]+[Champs2]+[Champs3]

- Si tu veux que ton résultat soit enregistré quelques part, fais une requête en plaçant tes 3 champs puis un 4 eme du style :
Somme : [Champs1]+[Champs2]+[Champs3]

Je rappelle qu'il est inutile d'enregistrer des données calculés dans des tables, c'est au contraire déconseillé.
Cette réponse vous a-t-elle aidé ?  
zywam 32 Messages postés mercredi 25 juillet 2007Date d'inscription 15 janvier 2011 Dernière intervention - 10 juil. 2008 à 14:12
Merci pour ta réponse, j'ai essayé ça ms le problème, c'est que l'on est obliger de faire une autre requête pour enregistrer le résultat. En fait, j'avais peut être pas bien précisé, j'aimerais que le résultat s'affiche dans la table comme si je l'avais rentré manuellement à la suite des trois autres champs. Ce n'est peut être pas possible ce que je demande?
CaPiT 609 Messages postés lundi 7 janvier 2008Date d'inscription 21 avril 2010 Dernière intervention > zywam 32 Messages postés mercredi 25 juillet 2007Date d'inscription 15 janvier 2011 Dernière intervention - 10 juil. 2008 à 14:31
Ouais je me doutais bien que tu voulais enregistrer ce total dans une table.

J'adopte pas le point de vu d'enregistrer dans les tables. Mais tu as la possibilité de le faire en faisant une requête SQL:
UPDATE table SET table.ChampTotal = (Champs1 + Champs2 + Champs3);

Voilà, bonne journée.
Wazomba 20 Messages postés vendredi 25 janvier 2008Date d'inscription 10 juillet 2008 Dernière intervention - 10 juil. 2008 à 14:24
+2
Utile
Si j'ai bien compris, tu as une table nommée NomDeTaTable avec les champs (numériques!!) suivants :
chValeur1, chValeur2, chValeur3 puis chValeurTotale

1 - créer une requête Mise à jour qui calculera la valeur à mettre dans le champ "chValeurTotale"
En mode SQL de ta requête ça devrait donner qqchose comme ceci :

UPDATE DISTINCTROW NomDeTaTable SET NomDeTaTable.chValeurTotale= [chValeur1]+[chValeur2]+[chValeur3];

(Copie-colle cette ligne dans une nouvelle requete Mise à Jour, puis bascule-la en mode création pour mieux avoir un aperçu de ce qui s'affichera. ça te donnera une idée du principe général.)

2- créer une macro qui exécutera ta requête de calcul

4- Dans les propriétés de ton formulaire, onglet "evenements", exécuter cette macro (par exemple à l'ouverture et/ou fermeture du formulaire

En gros, c'est l'approche à avoir. reste à personnaliser et affiner, sachant que comme ça, tu peux demander à ta requete de faire simultanément plusieurs calculs avec différents champs de ta table (comme calculer le pourcentage que représente ce total...etc)
Cette réponse vous a-t-elle aidé ?