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

VBA Access Discussion :

Afficher des images dans un état selon une condition [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Afficher des images dans un état selon une condition
    Bonjour à tous,

    Voilà le problème que je rencontre :

    Je développe un outil Access (2010) dont un des but est d'imprimer des fiches de préparation. Ces dernières doivent être données à un opérateur qui va sortir d'un magasin telle ou telle caisse suivant les références inscrites sur la fiche.
    Si une référence doit être réutilisée plus tard (cela signifie donc qu'il y a trop de composants dans la caisse à sortir) il faut que cela soit indiqué sur la fiche pour que l'opérateur ne sorte pas la totalité des composants.

    Pour faire simple, dans une caisse, il y a 100 vis, 50 pour une commande et 50 pour une autre, sur la fiche de préparation de la première commande il faut indiquer que ces vis ne doivent pas être sorties en totalité.

    Je le fait par une image (un petit panneau "Attention"). Or, je voudrais donc que cette image s'affiche seulement si la référence doit aller dans plusieurs destinations.
    J'ai fait une requête qui met à jour ma table Fiche_Preparation (table source de mon Etat qui génère ladite fiche) en mettant une valeur Vrai/Faux dans le champ Plusieurs_Destinations.
    Et ensuite, j'aimerais faire un bout de code qui s'éxécute sur l'activation de l'état et qui affiche l'image seulement pour les enregistrements dont la valeur de Plusieurs_destinations sera Vrai.

    Donc j'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Commande252_Click()
     
    If Plusieurs_Destinations = True Then
        Me.Image245.Visible = True
    Else
        Me.Image245.Visible = False
    End If
     
    End Sub
    (pour le moment je fait ça avec un bouton, je trouve ça plus pratique pour les tests).

    Mais ça ne fonctionne pas, car il ne reconnait pas Plusieurs_Destinations, du coup le test est toujours raté et il n'affiche aucune image (elles sont visibles par défaut et disparaissent quand je clique sur le bouton). Je n'ai rien définit en VBA, c'est le seul bout de code que j'ai dans mon fichier. Je ne sais pas s'il faut définir les tables et les champs.

    Si vous avez une idée de comment faire pour que ça fonctionne, je suis preneur .

    Cordialement,
    Benez

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Dans un état il faut utiliser l'événement Sur formatage.

    On peut réduire l'instruction à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.Image245.Visible = me.Plusieurs_Destinations
    Evidemment il faut d'abord que Plusieurs_Destinations soit valide. Pour le savoir il faut l'intégrer dans la source de l'état et l'afficher dans la même zone (Détails ?) que l'image. Une fois que la valeur s'affiche on le cache en mettant sa propriété visible à Non.

    Maintenant un bouton dans un état je ne vois pas ou ça peut mener.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bonjour Loufab,

    Merci pour ta réponse. Malheureusement, cela ne fonctionne toujours pas, car lorsque j’exécute le code, il ne parvient pas à trouver Plusieurs_destinations.

    J'ai bien mis une case dans mon état au même niveau que mon panneau (dans une en-tête de groupe) avec pour source Plusieurs_destinations qui est un champ Vrai/Faux de ma table, et cela affiche les données correctement (voir pj panneau).

    J'ai mis mon petit panneau avec affichage non visible à côté, et lorsque que j'appuie sur mon bouton (c'est juste pour les tests, après je mettrais ma procédure sur activation ou sur chargement - j'ai pas trouvé sur formatage), j'ai une erreur qui se produit (voir pj erreur) : "Erreur de compilation : membre de méthode ou de données introuvables."

    Si tu sais d'où ça peut venir, je t'en serais reconnaissant, ayant peu de bases en VBA, je n'arrive pas à comprendre comment faire pour que mon état sache trouver un champ de sa table source...

    Cordialement,
    Benez
    Images attachées Images attachées   

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Tu es certain que tu es bien sur un état et non un formulaire ?

    C'est quoi le nom du controle ? j'espère que c'est le même que ton champ.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Oui oui, je suis certain que je suis bien sur un état.

    Par contre, en effet, le nom de mon contrôle et le nom de mon champ était différent (le nom du contrôle était encore Texte250...). Du coup j'ai changé le nom du contrôle et j'ai mis Plusieurs_destinations, comme le nom du champ de ma table.

    Donc maintenant, il arrive à le trouver, mais ça ne marche toujours pas.

    Ce qui est bizarre aussi c'est que mes images sont invisibles par défaut, et lorsque je passe du mode création au mode état, les images ne s'affichent pas, et lorsque je passe du mode création au mode Aperçu avant impression, elles s'affichent.

    J'ai fait quelques tests en affichant des textbox sous conditions, et en fait, quand j'affiche en mode état, il me dit que plusieurs_destinations est faux, et quand j'affiche en mode aperçu avant impression, il me dit que plusieurs_destinations est vrai.

    En fait, j'ai l'impression qu'il prends soit le premier enregistrement soit le dernier, mais qu'il ne fait pas le test pour chaque enregistrement.

    Du coup voilà ma question : comment faire pour que le test de l'affichage de l'image soit fait pour chaque enregistrement et non pour la globalité de l'état une fois celui-ci chargé ?

    J'ai testé ma procédure sur chargement, sur activation, sur ouverture et sur activé, rien ne fonctionne

    Je fait encore appel à ton savoir Loufab !! Si tu vois une solution, je t'écoute.

    Cordialement,
    Benez

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    La solution est de mettre ton code sur l'événement Sur Formatage de la zone qui doit être Détail. C'est le seul événement qui se déclenche à chaque enregistrement.

    là ça marchera.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    En effet, ça marche.

    Je n'ai pas mis dans détails parce que mon champ n'est pas dans détails, mais dans l'en-tête du groupe, mais en effet en mettant la procédure au formatage, ça fonctionne.

    Merci beaucoup Loufab pour tes conseils et ta patience.

    Cordialement,
    Benez

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

Discussions similaires

  1. [AC-2010] Afficher des images dans un état
    Par papyxy dans le forum IHM
    Réponses: 2
    Dernier message: 11/08/2014, 15h19
  2. [AC-2007] Afficher des images dans un état en fonction d'un champ
    Par Gostringer dans le forum IHM
    Réponses: 13
    Dernier message: 20/05/2014, 13h43
  3. Réponses: 11
    Dernier message: 06/06/2008, 10h56
  4. afficher des images dans une listebox
    Par soforan dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 07/04/2008, 19h11
  5. Réponses: 3
    Dernier message: 10/01/2008, 22h09

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