Reporter valeur d'un contrôle calculé dans champ table

Fermé
slachar Messages postés 8 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 26 mars 2015 - 30 janv. 2014 à 17:11
le meruvien Messages postés 1111 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 avril 2024 - 31 janv. 2014 à 08:21
Bonjour,

J'ai un petit souci avec la valeur d'un contrôle calculé dans un formulaire. J'aimerais que celle-ci s'inscrive dans le champ de la table.

Voici mon l'expression de mon contrôle calculé :
CalculCommission =VraiFaux([RefTauxCommission]<"1",[RefTauxCommission]*[DetailVentes Sous-formulaire]![SommePoidsTotal],[RefTauxCommission]*[DetailVentes Sous-formulaire]![SommeVeaux])

Quoi faire pour que la valeur de "CalculCommission" s'inscrive dans "Commission" de ma table ?

Merci de votre aide !

4 réponses

le meruvien Messages postés 1111 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 avril 2024 40
30 janv. 2014 à 18:29
Bonjour,
Normalement, dans ta table tu doit mettre le champ calculcommission et il prendra la valeur tout seul.
Ou alors, si dans ta table tu as le champ commission, apres ta formule, tu met:
[commission]= calculcommission
Mais c'est plus simple de renomer ton champ.
0
slachar Messages postés 8 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 26 mars 2015
30 janv. 2014 à 19:48
Merci pour votre rapidité!
J'ai déjà essayé de mettre le champ CalculCommission dans ma table, mais le résultat du calcul ne s'y affiche pas. J'ai aussi essayé de créer un champ Commission caculé =[CaculCommission], ça ne fonctionne pas non plus. Je me demande si ma version d'Access 2010 n'a pas un bogue ! Je ne connais pas vraiment le VBA, mais je me débrouille assez bien pour insérer un code existant à l'endroit indiqué. Si ça peut résoudre mon problème, j'accepte toutes les pistes de solutions!
0
Bonsoir,
Il me semble que tu n'as pas bien compris la logique fondamentale des BDD. Il s'agit de réduire au maximum la quantité de données enregistrées, càd qu'en la circonstance les champs calculés directement dans les tables doivent être bannis pour ne garder que les éléments nécessaires à ces calculs et les effectuer à chaque fois qu'on en a besoin. Ainsi, pour en disposer quand tu en as besoin, il vaut beaucoup mieux avoir une requête qui te fera le calcul à chaque ouverture.
Bonne suite
0
slachar Messages postés 8 Date d'inscription jeudi 30 janvier 2014 Statut Membre Dernière intervention 26 mars 2015
30 janv. 2014 à 23:12
Bien d'accord avec vous, même si je suis novice en Access.
La situation est que la commission se calcule différemment selon le client et que je ne veux pas la calculer manuellement pour l'inscrire ensuite dans mon formulaire. J'ai besoin du montant de commission dans ma table pour faire des analyses... C'est possible de créer une requête pour faire le calcul et que le résultat soit la valeur de mon champ Commission ?
Merci pour votre aide.
0
Re ...
Tout est possible ou presque, il suffit d'un peu d'astuces et surtout de bien réfléchir.
Pour un tel calcul de commission, 2 solutions possibles,
_ soit les taux sont très divers et alors on peut prévoir une table pour enregistrer les différents taux avec un Identiant_Taux qui sera raccordé au client ou à l'achat qu'il effectue, une liste déroulante permettra de sélectionner le taux applicable via son Identifiant
_ soit on entre directement le taux applicable dans la table des achats
Le calcul des commissions se fait par une requête sur le modèle Achat*Tx = Commission.
La 1ère est plus sophistiquée mais celle qu'utiliserait un pro (que je suis pas), la seconde est plus évidente et peut suffire dans la plupart des cas.
Dans tous les cas, il vaut beaucoup mieux effectuer les calculs à l'aide d'une requête parce que Access est conçue dans ce but, que par un contrôle dans un formulaire. Question de rapidité et d'efficacité.
Bonne suite;
0
le meruvien Messages postés 1111 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 avril 2024 40
31 janv. 2014 à 08:21
Bonjour à tous,
Oui, bien que tessel75 à raison sur le point que l'on ne doit pas stocker des totaux dans les tables, moi je le fait souvent, car il y a des occasion ou c'est necessaire, et ça n'empêche pas la base de fonctionner!
Donc, je te préconise de faire ce que j'ai dis plus haut:
si dans ta table tu as le champ commission, apres ta formule, tu met:
[commission]= calculcommission
Mais bien sur, tu ne le verra qu'apres la MàJ de ton champ, donc pour l'avoir dans tes anciens enregistrement, tu devra faire une requete de mise à jour de ce champ dans ta table.
0