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 :

Comment effectuer un calcul sélectif selon l'unité de mesure


Sujet :

Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Comment effectuer un calcul sélectif selon l'unité de mesure
    Logiciel : Access 2000 (SP-3)
    Expérience en développement SGBD: moyenne

    Bonjour,

    Je développe présentement une base de données pour gérer un programme alimentaire (contrôle des calories, des nutriments et des minéraux dans la consommation quotidienne).

    Voici un détail des relations de mon modèle de données :

    ENTITÉ : E002_Repas
    RELATION (1 :N)
    ENTITÉ : E005_Produit
    RELATION (1 :N)
    ENTITÉ : E002_Repas

    Voici un détail de mon schéma relationnel (3 tables)

    TABLE 1 : E002_Repas (E002D001IdentifiantRepas, E002D002TypeRepas)

    TABLE 2 : A004_EstCompose (E002D001IdentifiantRepas, E005D001IdentifiantProduit, A004D001Quantite, A004D002UniteMesure)

    Note : Le domaine de l’élément A004D002UniteMesure (Unite, Gramme, Millilitre) : boutons option dans mon formulaire.

    TABLE 3 : E005_Produit (E005D001IdentifiantProduit, E005D002NomProduit, E005D003CalorieParUnite, E005D004CalorieParGramme, E005D005CalorieParMillilitre, E005D006ProtéineParUnite, E005D007ProtéineParGramme, E005D008ProtéineParMillilitre, etc…

    Actuellement, mon formulaire REPAS intègre un sous-formulaire (PRODUIT) dans lequel l’usager choisit à chaque ligne (liste déroulante) un produit. L’ensemble des lignes constitue un repas complet. Pour chaque ligne, il inscrit une quantité et choisit (bouton option) l’unité de mesure (unite, gramme ou millilitre).

    Comment faire pour associer la quantité inscrite à chaque ligne à la bonne donnée dans la table E005_Produit à partir du choix de l’unité de mesure dans la table A004EstCompose (bouton option (unite, gramme ou millilitre).

    Exemple d’une ligne du sous-formulaire :

    Produit : Pomme
    Quantité : 100
    Unité choisie : Gramme

    La table E005_Produit contient l’information suivante :

    E005D001IdentifiantProduit = Clé primaire
    E005D002NomProduit = Pomme
    E005D003CalorieParUnite = 90
    E005D004CalorieParGramme = 0.5
    E005D005CalorieParMillilitre = 0.05
    E005D006ProtéineParUnite = 0
    E005D007ProtéineParGramme = 0
    E005D008ProtéineParMillilitre, etc…

    Le résultat attendu :

    100 gramme de pomme = 50 calories.

    En espérant que ma question est pertinente sur ce forum.

    P.-S. Il s’agit de ma première intervention sur ce forum.

    Merci

  2. #2
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    Salut,

    je pense qu'un select case sur ta case d'option devrait pouvoir faire l'affaire
    Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut SELECT CASE sur un contrôle
    Salut,

    Merci jean-paul lepetit pour l'information.

    Je visualise bien le SELECT CASE en pseudocode. Toutefois, je suis débutant en matière de VBA. Je commence seulement à étudier le langage en autodidacte.

    Où puis-je trouver un exemple de SELECT CASE sur un contrôle (case d’option)?

    Merci

    Bob

  4. #4
    Membre éprouvé Avatar de jean-paul lepetit
    Inscrit en
    Février 2005
    Messages
    842
    Détails du profil
    Informations personnelles :
    Âge : 68

    Informations forums :
    Inscription : Février 2005
    Messages : 842
    Points : 919
    Points
    919
    Par défaut
    sur l'évènement après mise à jour de ton groupe d'option, tu cliques sur les 3 petits points en bout de ligne et tu sélectionnes générateur de code qui t'ouvre visual basic et commence ton code

    voilà un bout d'exemple qui doit te permettre de démarrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Cadre3_AfterUpdate()
    Select Case Cadre3
        Case Is = 1
            Resultat = E005D003CalorieParUnite * quantite
        Case Is = 2
            Resultat = E005D004CalorieParGramme * quantite
        'etc...
    End Select
    End Sub
    sachant que les valeurs 1, 2, etc... sont les valeurs attribuées à chaque option de ton groupe d'options
    Ils ne savaient pas que c'était impossible, alors il le réalisèrent (Mark Twain)

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Select Case [MonChamp]   ' c'est mon champ qui va être comparé
     
    Case valeur1    'on regarde si MonChamp1 est égal à Valeur1
        action     'Action qui sera exécutée si Monchamp1 est valeur1
    Case Valeur2
    ....
    ....
    ....
    End Select
    Voilà comment fonctionne un Select Case
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut SELECT CASE sur un contrôle option
    Salut jean-paul lepetit,
    Salut Heureux-oli,

    Merci beaucoup à vous deux. Je peux maintenant poursuivre mes travaux.

    Bob

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/04/2010, 21h02
  2. Comment effectuer un calcul entre deux champs
    Par Pitchoune557 dans le forum IHM
    Réponses: 3
    Dernier message: 22/02/2007, 11h48
  3. Réponses: 3
    Dernier message: 19/12/2006, 17h43
  4. Réponses: 5
    Dernier message: 24/02/2006, 10h12

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