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 :

Image changeante suivant valeur contrôle


Sujet :

IHM

  1. #1
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Image changeante suivant valeur contrôle
    Bonjour à tous,

    je me tourne vers vous car je suis un peu perdu concernant la réalisation d'un état.
    Je développe une base access pour mon travail,
    Dans cette base j'ai une requete sur la production quotidienne

    J'aimerais que dans mon état, une image change en fonction d'un controle

    Je m'explique :
    J'ai un champ : ProductionRéelle et un second Production Théorique

    J'aimerais comparer ces 2 valeurs, et en fonction du résultat afficher une image différente.

    Si Prod Réelle >= Prod Théorique => Affiche image1
    Si Prod Réelle >= Prod Théorique*0,95 => Affiche image2
    Si Prod Réelle < Prod Théorique*0,95 => Affiche image3

    J'ai essayé plusieurs choses mais j'avoue être à court d'idée (si je dois passer par du VBA... je tiens à préciser que je ne maitrise pas ce langage^^)

    J'espère que vous pourrez m'aider...

    Merci d'avance
    Julie

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour et bienvenu dans le forum DVP,

    dans une requête voir la fonction VraiFaux (IIf dans VBA), mais reste à savoir où sont stockées tes images.

  3. #3
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Je sais qu'idéalement il n'est pas conseillé de stocker les images dans la BDD, néanmoins la mienne n'en comporterais que 3, et une des consignes que j'ai est de n'avoir qu'un fichier.

    Quel genre de requête dois-je écrire ? car je n'y connais vraiment rien en VBA ^^

    Imaginons que j'ai une table "tête" avec 1 parametre "valeur"
    Valeur1 = image1
    Valeur2 = image2
    Valeur3 = image3

    Dans mon état, la ou je veux afficher l'image ou dois-je écrire ma macro ?
    dois-je la faire au niveau de la requête ?

    Merci d'avance.

  4. #4
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Personne ne peux m'aider ?

  5. #5
    Candidat au Club
    Inscrit en
    Août 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour à tous, je suis toujours coincé avec ce problème

    j'essaye donc de me tourner vers la fonction VraiFaux, mais je ne voit pas comment indiquer l'emplacement de mon image (sachant qu'elle sera dans une table même si ce n'est pas recommandé)

    Merci de votre aide.

  6. #6
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    En utilisant la propriété "Au formatage" de la section Détail de ton état, tu peux "modifier" l'apparence d'un contrôle image en fonction de la valeur d'un champ...:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    If Me.ProductionReelle > Me.ProductionTheorique Then
        Me.Image.Picture = CurrentProject.Path & "/vert.png"
    ElseIf Me.ProductionReelle < Me.ProductionTheorique Then
        Me.Image.Picture = CurrentProject.Path & "/rouge.png"
    ElseIf Me.ProductionReelle = Me.ProductionTheorique Then
        Me.Image.Picture = CurrentProject.Path & "/jaune.png"
    End If
    End Sub
    ..en partant de ce code tu adapte à ton problème.

    Ici, CurrentProject.Path correspond au chemin complet ou se situe ta base de données.
    Les images xxxx.png se trouvent dans le même répertoire que la base (ici dans l'exemple)

    ...à voir

  7. #7
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    les images sont dans un champ de type pièce-jointe d'une table je suppose

    ça doit marcher dans une requête

    j'ai une table TProduction avec entre autre les champs :
    prod_reelle : numérique long
    prod_theorique : numérique long

    et une table TIntervalProduction avec les champs :
    interval_debut : numérique décimal, echelle = 2 pour pouvoir saisir des décimaes
    interval_debut_compris : oui/non pour pouvoir définir si la borne de début est coomprise (>= ou >)
    interval_fin : numérique décimal, echelle = 2
    interval_fin_compris : oui/non pour pouvoir définir si la borne de fin est coomprise (<= ou <)
    image : le champ pièce jointe qui contient les images
    (j'ai mis un champ texte, je n'ai pas 2007 là où j'écris)

    contenu de cette table TIntervalProduction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    'interval_debut interval_debut_compris  interval_fin    interval_fin_compris    image
    '               non                     0,95            non                     image3
    '0.95           oui                     1               non                     image2
    '1              oui                                     non                     image1
    Ensuite une requête pour joindre tout ça.
    Uniquement en mode SQL, les inférieurs et supérieurs dans la jointure ne peuvent être représentés graphiquement.
    Cette requête pourra être utilisée dans un état.
    Il faut juste tester si ça fonctionne avec une image dans un champ pièce-jointe.
    Et vérifier que ça renvoit les bonnes valeurs, j'ai juste testé sur 2 ou 3 exemples.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT TProduction.*, [prod_reelle]/[prod_theorique] AS Ratio, TProdInterval.*
    FROM TProduction LEFT JOIN TProdInterval ON (TProdInterval.interval_fin Is Null Or (TProdInterval.interval_fin_compris=True And TProduction.prod_reelle/TProduction.prod_theorique<=TProdInterval.interval_fin) Or (TProdInterval.interval_fin_compris=False And TProduction.prod_reelle/TProduction.prod_theorique<TProdInterval.interval_fin)) AND (TProdInterval.interval_debut Is Null Or (TProdInterval.interval_debut_compris=True And TProduction.prod_reelle/TProduction.prod_theorique>=TProdInterval.interval_debut) Or (TProdInterval.interval_debut_compris=False And TProduction.prod_reelle/TProduction.prod_theorique>TProdInterval.interval_debut));

    je teste d'abord si la borne est non renseignée (=null) puis en fonction des champs *compris, je teste soit inférieur, soit inférieur ou égale (idem pour supérieur)

    l'avantage si ça marche c'est que les intervals se paramètrent facilement dans une table et on peut ajouter d'autres infos que l'image (un texte, une couleur, ...) dans cette table

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    bonjour à tous et bienvenu Nymphomia,

    si ca peut t'aider reprend la méthodologie dans l'exemple "Listing en image" ici
    il faut simplement adapter une requete pour changer l'association des images comme l'explique arkham46 et faire cela dans un état au lieu du formulaire.


Discussions similaires

  1. [XL-2010] Afficher une image suivant valeur de 2 cellules
    Par floflatch dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/04/2014, 12h47
  2. [XL-2010] Afficher une image contenant des valeurs changeantes dans une autre cellule
    Par TeethBrush3r dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/08/2013, 17h36
  3. Réponses: 2
    Dernier message: 02/02/2011, 11h11
  4. [AC-2007] Etat:remplacement texte suivant valeur contrôle
    Par Baba75AB dans le forum IHM
    Réponses: 5
    Dernier message: 16/04/2009, 14h03
  5. [CR9]Masquer des données (colonnes) suivant valeur champ
    Par neo.51 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 05/09/2005, 09h43

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