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

IHM Discussion :

[A-07] Mise en forme conditionnelle suivant une valeur limite qui varie


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Mise en forme conditionnelle suivant une valeur limite qui varie
    Bonjour,
    Je vais essayer d’expliquer au mieux mon problème :
    J’ai une base de données 2007, pour un labo qui fait des analyses. Prenons 2 critères : moisissure et humidité, pour lesquels il existe une valeur limite à ne pas dépasser.
    J’ai une table « Analyses » qui comporte les champs « NuméroAnalyse », « date », « Moisissure » et « Humidité »
    Je créer une table « Valeur limite » qui doit contenir
    « Moisissure » : 2.1
    « Humidité » : 3%
    Je fais un formulaire pour que l’utilisateur puisse venir modifier les valeurs maximales de « Moisissure » et « Humidité » (changement de norme ou nouveau décret,…)

    Ce que j’aimerai faire c’est un formulaire « Analyses » pour l’entrée de données, avec une mise en forme automatique pour chaque critère : si la valeur entrée dans « humidité » dépasse la valeur entrée dans la table valeur limite (3%), écrire en rouge, par exemple.
    Ma question 1 est donc : comment relier une table qui va avoir +500 entrées (table « analyses ») à une qui a juste UNE valeur limite pour chaque critère ? Ou alors faut-il créer autan de tables que de critères : table « ValeurMaxMoisisssure », table « ValeurMaxHumidité » ?!

    Question 2 : Comment en VBA mettre la condition sur le critère en sortie de saisie : si la valeur entrée est supérieure à la valeur dans la table « valeur limite », mettre en rouge ? (pour la mise en forme conditionnelle, j’ai une partie de la réponse à http://warin.developpez.com/access/mfc/, mais comment lier une table à une autre de référence ???)

    Enfin, j’aimerai créer un Etat qui affichera les données, avec toujours la même mise en forme conditionnelle, et surtout afficher la valeur maximale. Cela pourrait ressemble à cela :
    Date Moisissure Humidité

    1 janv. 0,5 1,2%
    2 janv. 0,7 1,5%
    3 janv. 1,4 3,1%
    4 janv. 1,3 2,0%
    5 janv. 0,2 0,9%

    1,2 3% Valeur MAX


    Question 3 : Faut-il passer par une requête et y mettre les deux tables ensemble ? (table « analyse » et table « Valeur limite » ?!
    Merci d’avance de votre aide ! La difficulté pour moi est qu’en vrai, il n’y a pas 2 critères d’analyse, mais 25 !

  2. #2
    Membre régulier Avatar de alexkickstand
    Inscrit en
    Octobre 2002
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 165
    Points : 105
    Points
    105
    Par défaut re
    salut

    question 1 : 1 table analyse et 1 table valeurs limites suffisent de mon point de vu pas besoin de faire de jointure.

    question 2 : sur ton champs moisissure de ton formulaire tu cree un code evenementiel sur PerteFocus

    ce qui donnerais par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Sub txt_Moisissure_LostFocus()
     
    'sql = select humidite, moisissure from valeur limite;
    'j'ai pas mi toute la syntaxe vba de la requete
     
    val_moisissure = !moisissure
    val_humidite = !humidite
     
    If (me.txt_Moisissure.value >val_moisissure) Then
      '255 = rouge
      Me.txt_Moisissure.ForeColor = 255
    Else
      '1 = noir
      Me.txt_Moisissure.ForeColor = 1
    End If
     
    End Sub
    sur ton champs texte humidite de ton formulaire tu cree un code evenementiel sur PerteFocus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub txt_humidite_LostFocus()
     
    If (me.txt_humidite.value >val_humidite) Then
      '255 = rouge
      Me.txt_humidite.ForeColor = 255
    Else
      '1 = noir
      Me.txt_humidite.ForeColor = 1
    End If
     
    End Sub
    question 3 : 1 requete avec tes 2 tables

    code sql :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Analyses.NuméroAnalyse, Analyses.date, Analyses.Moisissure, Analyses.Humidité
    FROM [Valeur limite], Analyses
    WHERE (((Analyses.Moisissure)>[Valeur limite]![Moisissure])) OR (((Analyses.Humidité)>[Valeur limite]![Humidité]));
    j'espere que cela va t'aider

    Alex

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/05/2014, 19h19
  2. [AC-2007] Mise en forme conditionnelle suivant le resultat d'une requete
    Par Danceg dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 11/05/2012, 06h07
  3. Mise en Forme conditionnelle pour une valeur négative
    Par spitfire26 dans le forum Excel
    Réponses: 2
    Dernier message: 22/03/2012, 21h48
  4. mise en forme conditionnelle dans une liste
    Par dpie dans le forum IHM
    Réponses: 2
    Dernier message: 23/04/2007, 19h04
  5. Mise en forme conditionnelle pour une date
    Par Michel DELAVAL dans le forum Access
    Réponses: 4
    Dernier message: 03/10/2006, 21h31

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