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] Ouvrir un formulaire suivant le code


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut [A-07] Ouvrir un formulaire suivant le code
    Bonsoir,

    ACCESS 2007.

    Dans une liste déroulante en colonne 1 "cachée" il y a des codes "a - b - c - d etc.

    Chaque code correspond à l'ouverture d'un formulaire par exemple si je choisis "a" je vais ouvrir le formulaire essai
    le "b" le formulaire vente etc

    Comment programmer en VBA pour que se soit le plus simple possible en évitant des if sur chaque ligne, j'évite de programmer un ruban car trop compliqué pour moi, et je veux éviter également de mettre des boutons de commandes car mon formulaire serait trop chargé.

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Le plus simple dans ton cas serait l'utilisation du Select Case, tu récupères la valeur de ta liste, et cette instruction te permettra plusieurs choix.

    Je t'invite à regarder l'instruction dans l'aide, et si tu n'arrives pas à la mettre en place reviens nous avec le code que tu as fait.

    Philippe

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    Le plsu simple est que tu ajoutes le nom du formulaire à ta liste et que tu masques cette colonnne :

    cela donnerai pour a, b et c

    • Valeur de la liste : a;TitreA,NomFormulaireA;a;TitreA;NomFormulaireB;b;TitreB;NomFormulaireC;c;TitreC
    • Nombre de colonnes : 3
    • Largeur des colonnes : 0cm;1cm;5cm
    • Largeur de ta liste : 6.44cm
    • Colonne liée : 0

    Le .44 permet de gérer la barre de défilement, évidement il faudra que tu adapte la largeur de tes 2 colonnes d'affichage à ta réalité.

    Au niveau du code, dans l'événement après MAJ de ta liste déroulante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.openForm me.NomTaListeDeroulante
    Une version plus élaborée pourrait se baser sur les formulaires existants dans ta BD et génnérer ta liste automatiquement mais c'est un peu plus complex à programmer.

    A+

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    Merci beaucoup pour vos réponses, je vais faire des essais.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    J'ai fais un essai avec la méthode de Marot R et c'est parfait, merci beaucoup, mais je serai trés curieux de connaître la méthode de Philippe avec Select Case, je n'ai rien trouvé dans l'aide correspondant à ceci, si vous avez un exemple sous la main ?

    Encore merci.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    Oui mais, j'ai un petit problème, en effet j'ai de temps en temps un état et là :OpenForm ne le fait pas, il faudrait que Access identifie si c'est un formulaire ou un état, si vous avez une idée ?

    Merci.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ma solution dans ce cas n'est pas la meilleure, celle de marot_r est plus simple et plus efficace.

    Donc si je comprends bien tu as dans ta liste à la fois des états et des formulaires, il faut donc ajouter une colonne dans ta liste indiquant ce que c'est et faire un test.

    Si c'est un formulaire
    Si c'est un état
    Philippe

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Points : 10
    Points
    10
    Par défaut État ou formulaire
    En supposant que tu connais les choix qui sont des formulaires et ceux qui sont des états.

    Ajoute en colonne 4, F ou E pour respectivement formulaire et état.
    Tu peux cacher la colonne 4 si l'utilisateur n'en a pas besoin.
    Le code devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Select Case me.NomTaListeDeroulante.Column(3) 
              'les colonnes portent les nos 0,1,2,3
          Case "F"
              docmd.openForm me.NomTaListeDeroulante
          Case "E"
               docmd.openReport me.NomTaListeDeroulante
    End Select

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 300
    Points : 106
    Points
    106
    Par défaut
    Bonsoir,

    Me voici de retour aprés une semaine chargée de travail, je vous remercie tous pour votre aide.

    @+

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

Discussions similaires

  1. Ouvrir un formulaire suivant une donnée.
    Par yomaneoz dans le forum IHM
    Réponses: 14
    Dernier message: 24/02/2009, 00h26
  2. Code pour ouvrir les formulaires dans la meme fenetre
    Par maxime350 dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/04/2008, 16h54
  3. Code pour ouvrir un formulaire
    Par EGSway dans le forum IHM
    Réponses: 6
    Dernier message: 11/07/2007, 06h16
  4. Code : ouvrir un formulaire sur enregistrement precis
    Par mat75019 dans le forum Access
    Réponses: 19
    Dernier message: 10/04/2006, 18h50
  5. Réponses: 18
    Dernier message: 08/12/2004, 14h04

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