ACCESS : champ calculé formulair & lien table

schneider -  
 Apouf -
Bonjour
Dans une table le champ calcul est déclaré.
Dans le formulaire dans le champ calcul, une formule est saisie
Le résultat est bien obtenu dans le champ calcul du formulaire
Mais il ne se répercute pas dans le champ calcul de la table.
Il faut faire un copier coller.

Est-il possible d'obtenir le résultat d'un calcul dans le formulair dans la table concernée.

Merci
Luc

4 réponses

Elbie49 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

Moi aussi j'ai été confrontée au même problème, et je pense avoir trouvé la solution... En voici un exemple, à chacun ensuite de l'adapter à ses besoins.

Supposons qu'on ait une table Tbl_Recettes avec les champs :

Spectateurs
PrixPlace
RecetteMatch

On a créé un formulaire Frm_Recettes à partir de la table avec les champs :

Spectateurs
PrixPlace
Recette

Recette est un champ calculé correspondant à : Spectateurs*PrixPlace

On suppose que les informations sont saisies dans l'ordre ci-dessous. Pour insérer la recette du match dans la table à partir du formulaire, il faut sélectionner le contrôle PrixPlace, puis Propriétés, Procédure événementielle, Sur sortie, entrer le code VBA suivant :

Private Sub PrixPlace_Exit(Cancel As Integer)
Dim RM As Variant
RM = Forms![Frm_Recettes]![Recette]
Me.[RecetteMatch] = RM
Me.Refresh
End Sub

Et les données sont mises à jour dans la base, magique !!!

Faites-en bon usage, à savoir que comme le disait HDU, on ne stocke pas en général le résultat d'un calcul dans une table, mais bon, on peut avoir besoin de le faire pour une raison particulière...

Elbie49
6
Coralie
 
Bonjour,

Mais comment fais tu pour que "Recette" soit un champ calculé correspondant à : Spectateurs*PrixPlace ??
Doit on écrire du code VBA??

Merci d'avance
Coralie
0
taha
 
merci pour le code que représente Me?
0
blux Messages postés 27109 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Généralement, la base courante...
0
taha
 
J'ai essayé ceci dans ma BD mais ça ne marche pas:
quantité est le champ du formulaire SaisieCommande et total_line est la colonne de la table commande que je veux mettre à jour. LE code est ci-dessous
------------------------------------------------------------------
Private Sub quantite_Exit(Cancel As Integer)
Dim RM As Variant
RM = Forms![Form_SaisieCommande]![quantite]
Me.[Commande]![total_ligne] = RM
Me.Refresh
End Sub
------------------------------------------------------------------
mais en vain
0
Apouf
 
Chez moi la fonction champs calculé de Access 2010 ne fonctionne pas et grâce à ce code j'ai enfin la solution à un problème qui me tarabuste depuis des jours (et des nuits !!!). Merci beaucoup
Cordialement
0