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

  1. Elbie49 Messages postés 1 Statut Membre 7
     
    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
    7
    1. 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
    2. taha
       
      merci pour le code que représente Me?
      0
    3. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Généralement, la base courante...
      0
    4. 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
    5. 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