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 :

Affichage de formulaire non voulu


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 64
    Points : 86
    Points
    86
    Par défaut Affichage de formulaire non voulu
    Bonjour/Bonsoir

    Voila je vous explique mon problème :

    Je dispose de deux formulaires différents, appelant une même méthode contenue dans un module de classe.

    Cette méthode permet de mettre a jour les champ de la combobox 2 en fonction de la valeur choisie dans la combobox 1.

    Mon problème est que lorsque je suis sur le premier formulaire et que je fais appel à cette fonction, cela m'ouvre l'autre formulaire (Vu que ma méthode met à jour les les combobox des deux formulaires). J'ai donc utilisé docmd.close, form.visible = false, ce qui m'a permis de fermer l'autre formulaire.

    Par contre même s'il se ferme automatiquement, le formulaire est tout de même visible une demi seconde, ce qui n'est pas du tout ergonomique.

    Avez vous une solution pour empêcher l'ouverture du formulaire 2 lorsque je modifie la valeur de la combobox 1 du formulaire 1 ? et idem pour l'autre formulaire ? Désolé si c'est pas très clair, demandez moi plus d'explications et je vous en ferais part ^^

    Merci d'avance !

  2. #2
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2012
    Messages : 100
    Points : 112
    Points
    112
    Par défaut
    Bonjour, crois-tu qu'il serait préférable que tu utilise deux fois plutot qu'une cette méthode pour chacun des formulaires ? Chaque formulaire appelerait une méthode bien à lui sans empiéter sur l'autre formulaire.

    Tes combobox ont-ils le même nom dans chacuns des formulaires? Si oui, ils serait peut-être judicieux de leur donner des noms légèrement différents ?

    essaie ça et tiens nous au courant.

    Bonne journée

  3. #3
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Une possibilité serait peut-être de vérifier quel est le formulaire ouvert avant de mettre à jour et de ne mettre à jour que le combobox du formulaire ouvert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If CurrentProject.AllForms("Ton_form_1").IsLoaded Then
    ' ici le code pour mettre à jour dans le form 1
    ElseIf If CurrentProject.AllForms("Ton_form_2").IsLoaded Then
    ' ici le code pour mettre à jour dans le form 2
    End If
    Cordialement.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 64
    Points : 86
    Points
    86
    Par défaut
    En fait je suis en stage pour une société pour valider ma deuxième année, et vu qu'à l'école on nous a appris à réutiliser le code pour éviter la redondance, ou encore au développement MVC, j'ai essayé de faire un truc à peu près similaire en VBA.

    Donc en gros j'utilise le module de classe pour éviter de réécrire deux fois la même fonction.

    J'ai pensé à écrire deux fonctions différentes mais pour la revue de code on me demandera surement pourquoi est ce que j'ai voulu créer des modules alors que cette fonctionnalité est écrite deux fois.

    Dans le module j'effectue ceci (désolé ce sont des données confidentielles je dois donc masquer les champs/tables) :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Public Function combo_prenom(ByVal nom As String)
     
    Dim query_prenom As String
    Dim rs As Recordset
    Dim iCount, iRecCount As String
     
    query_prenom = "SELECT *** FROM *** WHERE *** = '" & nom * "';"
     
    Set rs = CurrentDb.OpenRecordset(query_prenom)
     
    'On compte le nombre d'enregistrement associés au nom sélectionné
     
    rs.MoveLast
     
    iRecCount = rs.RecordCount
     
    rs.MoveFirst
     
    'On stocke chacun de ces enregistrements associés dans la combobox prenom
     
    For iCount = 1 To iRecCount
     
    [Form_Gestion de compte].combo_prenom.AddItem rs("***")
    [Form_Gestion des équipes].combo_prenom.AddItem rs("***")
     
    rs.MoveNext
     
    Next
     
    End Function
    Dans mes forms j'effectue cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim nom As String
    Dim mod_connexion As Nex Connexion
     
    nom = combo_nom.Value
     
    combo_prenom.RowSource = ""
     
    mod_connexion.combo_prenom (nom)
     
    DoCmd.Close acForm, "Gestion des équipes" / DoCmd.Close acForm, "Gestion de compte" 'En fonction du formulaire sur lequel j'effectue l'opération
    Les combobox ont donc le même nom, mais vu que je précise de quel formulaire elle proviennent cela revient au même que de les changer. Surtout que je demande la mise à jour des deux combobox.

    Je voudrais juste que l'autre formulaire ne s'affiche pas du tout.

    Merci de ton aide

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 64
    Points : 86
    Points
    86
    Par défaut
    Ah merci Robi, je cherchait un truc du genre

    Je teste cela

  6. #6
    Membre actif Avatar de Pittouti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2012
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 246
    Points : 257
    Points
    257
    Par défaut
    Bonjour,

    je me demande pourquoi vous utilisez la codification VBA pour ce genre de développement ?

    alors que tu peux faire Mieux et plus simple.

    ( Personnellement, je ne suis un expert dans la codification mais j'arrive à faire des petites solutions )

    si tu explique mieux ta demande ( la modification que tu fasse qur chacun des formulaie) je pourrais t'aider.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 64
    Points : 86
    Points
    86
    Par défaut
    Je suis beaucoup plus à l'aise dans le développement en C#, et j'ai voulu réaliser l'appli en question sous visual studio.

    Le problème c'est que mon responsable veut absolument que ce soit une application access pour pouvoir extraire depuis l'appli les données sur excel et faire des tableaux croisés dynamiques. Donc je lui ai dis que ca devrait être possible en C#, mais vu qu'il n'y à pas d'informaticien et que si l'appli viendrait à buguer, alors personne ne sera en mesure de la debuger et en plus de cela ils ne peuvent pas avoir VS :/

    Voila pourquoi je fais ça en VBA ^^

    Sinon Robi merci beaucoup ca marche, c'est niquel

    Merci à tous pour vos réponses, bonne fin de journée et à bientôt !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/10/2008, 17h35
  2. [CR XI] changement de police non voulu dans l'affichage
    Par fab123 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 12/02/2008, 10h09
  3. Affichages non voulu dans l'afficage des JSP
    Par Mathieu.J dans le forum JDeveloper
    Réponses: 1
    Dernier message: 18/06/2007, 14h43
  4. Réponses: 4
    Dernier message: 05/02/2007, 22h31
  5. Affichage sous-formulaire si valeur non existante
    Par p'tite Sandrine dans le forum Access
    Réponses: 6
    Dernier message: 22/12/2006, 16h29

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