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

Access Discussion :

Fermer un formulaire lorsque l'on clique en dehors de la fenêtre du formulaire


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    -
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : -
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Points : 10
    Points
    10
    Par défaut Fermer un formulaire lorsque l'on clique en dehors de la fenêtre du formulaire
    Bonjour à tous,

    J'ai un petit formulaire qui s'ouvre par dessus un formulaire principal et qui permet à l'utilisateur, par un clic sur ce dernier de générer une action (cette action importe peu).

    Je voudrais permettre la fermeture de ce formulaire lorsque l'utilisateur clique ailleurs que sur ce petit formulaire. J'ai essayé du côté des évènements "Perte du focus" et "Désactivé" mais sans succès.

    Avez-vous déjà été confrontés à cette problématique et, le cas échéant, avez-vous trouvé une solution ?

    Par avance merci pour votre aide.

    rn

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 363
    Points : 23 833
    Points
    23 833
    Par défaut
    Si LostFocus ne marche pas, essaye avec GetFocus du formulaire principal.

    un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if currentProject.AllForm("TonAutreFom").isloaded then
        docmd.close acForm, "TonAutreFom'
    end if
    A+

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Bonjour,

    Votre logique n'est pas très productif. Vous voulez qu'en cliquant ou interférant sur un formulaire A (le formulaire principal), on ferme un formulaire B (le petit formulaire) dont on ne sait même pas si il est encore ouvert ou fermé.

    Pour moi la solution la plus simple et claire serait de définir la propriété du formulaire B comme étant fenêtre modale, comme ça, on ne peut le quitter sans passer par ses éléments.

    Bonne continuation

  4. #4
    Membre à l'essai
    Homme Profil pro
    -
    Inscrit en
    Avril 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : -
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2014
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    @ marot_r,
    J'ai essayé aussi ce bout de code que j'ai trouvé là : http://access.developpez.com/faq/?page=Forms#isloaded mais sans succès. L'argument Modal (à true) du petit questionnaire entre en conflit et empêche que le focus passe au questionnaire principal...

    @ madefemere
    Le petit formulaire s'ouvre déjà en fenêtre modale... Il s'agit d'un petit nuancier qui permet de choisir une couleur parmi une cinquantaine de possibilités. A l'usage, je me rends compte que les utilisateurs ouvrent ce formulaire et se rendent compte après coup qu'ils n'ont pas besoin de choisir une couleur. Mais une fois ouvert, ils sont obligés d'en choisir une pour revenir au formulaire d'origine (ce qui les oblige après à modifier l'enregistrement...).

    Ma question mérite sans doute d'être reformulée :
    Peut-on générer un évènement dans un formulaire modal (dans mon cas la fermeture mais, finalement, quel qu'il soit) en cliquant en dehors du formulaire ? Un peu comme sur certaines fenêtres modales utilisées dans les navigateurs web...

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3 841
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 841
    Points : 7 975
    Points
    7 975
    Par défaut
    Re-,

    Je pense que la situation actuelle n'est pas logique.
    Le proposition de marot est faisable, il faudrait dans ce cas modifier la fenêtre pour ne plus être modale (source du conflit comme vous dites).
    Si elle est modale, on ne peut accéder à un autre objet de la base de données sans la fermer (c'est le principe même d'une fenêtre modale).
    Donc il vous faudra faire un choix pour avancer.

    Bonne continuation

Discussions similaires

  1. Fermer un PopupWindow lorsqu'on clique en-dehors
    Par anto2b dans le forum Android
    Réponses: 2
    Dernier message: 22/02/2013, 18h49
  2. [Google Maps] comment fermer une infobulle lorsque je clique sur une nouveau marker
    Par franklin19 dans le forum APIs Google
    Réponses: 6
    Dernier message: 07/08/2011, 23h42
  3. Réponses: 2
    Dernier message: 30/03/2007, 14h33
  4. ouverture de formulaire lorsqu'on clique dessus
    Par laurent.w dans le forum IHM
    Réponses: 4
    Dernier message: 29/01/2007, 10h17
  5. Supprimer un composant lorsque l'on clique dessus
    Par Havrest dans le forum Composants VCL
    Réponses: 6
    Dernier message: 03/07/2005, 21h33

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