IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

calcul entre deux champs dans une table


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut calcul entre deux champs dans une table
    Bonjour,

    Excusez moi si je pose une question de béotien...

    Dans la constitution d'une table, j'aimerais qu'un champ soit le résultat automatiquement calculé d'une opération sur la valeur de deux autres champs.

    Il s'agit de calculer l'IMC (index de masse corporelle) à partir de la formule :

    IMC=Poids/carré de la taille

    où taille et poids sont entrés dans deux champs séparés.

    Comment puis je configurer le champ IMC pour qu'il puisse afficher la valeur de l'IMC selon la formule et dès que les champs poids et taille sont remplis?

    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Bonjour et bienvenue sur developpez !

    En théorie on évite de stocker des calculs ...

    Passe par une requête.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [MaTable]![Poids], [MaTable]![Taille], 
    [MaTable]![Poids]/([MaTable]![Taille]^2) As IMC
    FROM [MaTable]
    WHERE [MaTable]![Poids] Is Not Null AND [MaTable]![Taille] Is Not Null
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    merci beaucoup, à la fois pour la bienvenue et pour le conseil.
    J'essaierai de l'appliquer (disons que je suis très débutant... ).

  4. #4
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    cafeine a raison... quand on peut eviter de stoquer un calcul ça fait gagner de la place !
    dans ton form tu places un champ independant que tu nommes IMC par exemple ; mettons que tu entres à la main la taille ensuite le poids... sur after update du poids tu colles ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.imc.Value = Me.poids.Value / (Me.taille.Value * Me.taille.Value)
    ou alors si les valeurs sont deja chargees dans le formulaire tu places sur l'evenement onload du form.


  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour le conseil.
    Si j'ai bien copmpris je ne peux alors disposer du calcul que dans le formulaire, pas dans la table ?

    Comme je dispose de la version française, pouvez vous me préciser à quel endroit je dois entrer le code :

    "Me.imc.Value = Me.poids.Value / (Me.taille.Value * Me.taille.Value)" ?

    Merci encore.

  6. #6
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    je te l'ai ecrit ... sur l'evenemnt afterupdate du 2 eme cahmp saisi !
    là en l'ocurence je proposais de saisir en 1er la taille, donc le 2EME CHAMP SAISI sera le poids.
    L'IMC tu peux le stocker dans la table si tu veux mais tu gaspilles du poids octets ; dans ce cas tu crées un champ IMC dans ta table et la formule de calcul tu la places en valeur par defaut de ton champ sur le formulaire.


  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    L'IMC tu peux le stocker dans la table si tu veux mais tu gaspilles du poids octets ; dans ce cas tu crées un champ IMC dans ta table et la formule de calcul tu la places en valeur par defaut de ton champ sur le formulaire.
    D'accord, mais cela paraît plus simple à l'archi débutant que je suis (et puis il n'y aura pas beaucoup d'enregistrements dans la base).

    Puis je te demander de me préciser la syntaxe exacte de la formule à entrer dans la valeur par défaut?
    J'ai essayé plusieurs syntaxes mais je reçois une erreur en enregistrant ("le moteur de base de données ne reconnaît pas le champ 'Poids' dans une expression de validation ou la valeur par défaut dans la table 'Chirurgie'.")

    merci pour ton aide.

  8. #8
    Membre averti Avatar de @rkane
    Homme Profil pro
    developpeur amateur dans mon cadre professionnel
    Inscrit en
    Juin 2006
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : developpeur amateur dans mon cadre professionnel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 521
    Points : 403
    Points
    403
    Par défaut
    la formule je te l'ai deja donnee ! relies mes reponses.

    pour le message d'erreur, je pense que le nom de ton champ de correspond pas aux termes de la formule, je m'explique :
    dans ton champ "poids" (que j'ai nomme arbitrairement comme cela) il y a 2 notions bien distinctes à prendre en consideration ; ouvre les proprietes il y a dans l'onglet "donnees", la source de ton controle issue de ta table... à savoir "poids" qui a priori doit être un champ numerique...
    ensuite dans l'onglet "autres" des proprietes tu trouveras le nom de ton controle qui justement doit etre le meme que dans la formule.
    dans le cas present je l'ai nomme "poids" dans la formule (me.poids) ;
    me. signifiant que tu appelles un controle dans le formulaire actif.
    Verifies donc le NOM de tes controles.


Discussions similaires

  1. Concaténer deux champs dans une table
    Par Yamina62 dans le forum Modélisation
    Réponses: 4
    Dernier message: 30/09/2013, 14h11
  2. [WD18] Calcul entre deux colonnes d'une table
    Par Alex1993 dans le forum WinDev
    Réponses: 4
    Dernier message: 19/09/2013, 08h20
  3. [AC-2003] Comparer deux champs dans une table et remplir un autre champ
    Par frexville dans le forum VBA Access
    Réponses: 3
    Dernier message: 07/09/2009, 12h52
  4. Comparaison entre deux dates dans une table
    Par Biskot75 dans le forum Access
    Réponses: 6
    Dernier message: 19/09/2006, 11h16
  5. Choix entre deux champs dans une requete
    Par Pico10 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 27/07/2005, 15h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo