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 :

Forcer un formulaire à s'ouvrir par dessus un autre. [AC-2003]


Sujet :

IHM

  1. #1
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut Forcer un formulaire à s'ouvrir par dessus un autre.
    Bonjour à tout le monde.

    Je cherche à forcer un formulaire à s'ouvrir par dessus un autre. Mon formulaire est en mode indépendant et s'ouvre en premier plan sauf de temps en temps. Ce qui pose un problème car j'ai des rafraîchissements de formulaires en dessous quand je quitte celui dont je parle.

    Y a t'il un code sur ouverture qui le contraigne à toujours s'ouvrir par dessus ?
    Pour l'ouvrir j'utilise la méthode suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    DoCmd.SetWarnings True
    Me.Refresh
    DoCmd.OpenForm "G_PLANNING_TYPE_VISUEL"
    est ce le Me.refresh du formulaire que je quitte qui est responsable ?

    Merci pour votre aide et bonne journée.

  2. #2
    Expert éminent

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

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

    Pour rendre un formulaire au premier plan et le garder dessus tant qu'on ne le ferme, il faut définir sa propriété "MODAL" à OUI.

    Cordialement.

  3. #3
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour à tous.

    Merci pour votre aide. J'ai changé la propriété du formulaire.

    Bonne soirée et encore merci.

  4. #4
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour à tout le monde.

    Je reviens à la charge avec mon formulaire qui ne s'ouvre pas toujours par dessus le précédent.

    J'ai suivi le conseil de madefemere, c'est à dire que je l'ai déclaré en fenêtre Modale, mais il continu à s'ouvrir en dessous de temps en temps. Cela pose un problème car en Modale, je ne peux plus rien fermer (il est également en fenêtre indépendante).

    Je repose donc ma question, est 'il possible que mon Me.refresh soit responsable ? Ne devrais je pas mettre une temporisation avant d'ouvrir mon formulaire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DoCmd.SetWarnings True
    Me.Refresh
    'Temporisation ?
    DoCmd.OpenForm "G_PLANNING_TYPE_VISUEL"
    Je vous remercie par avance pour votre aide et vous souhaite une très bonne soirée.

  5. #5
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 906
    Points : 1 075
    Points
    1 075
    Par défaut
    As-tu essayé sans ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.SetWarnings True
    Me.Refresh
    DoCmd.OpenForm "G_PLANNING_TYPE_VISUEL"
    .

  6. #6
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour à tout le monde.
    Je répond avec beaucoup de retard. Je m'excuse, j'étais absent quelques jours.
    Merci pour votre aide.
    Je vais essayer sans le Me.Refresh.
    J'avais besoin d'une actualisation avant de quitter mon écran pour que le suivant soit bien à jour.
    Je vais voir si je peux faire autrement.
    Je vous tiens au courant.
    Bonne soirée à vous tous.

    Re bonjour,
    Je modifie mon message car je viens d'enlever le Me.Refresh et au premier essai, cela c'est produit. Ouverture de mon formulaire en dessous.
    Je ne sais plus quoi faire.
    Merci pour votre aide et très bonne soirée.

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 840
    Points : 14 944
    Points
    14 944
    Par défaut
    bonsoir,
    c'est bizarre qu'en mettant modale, cela ne fonctionne pas toujours ...
    Essaie d'ouvrir ton formulaire en mode dialogue, c'est comme la propriété modale, mais cette option met toujours la fenêtre au premier plan (en principe...):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "G_PLANNING_TYPE_VISUEL", WindowMode:=acDialog
    par contre, il y a un inconvénient: si tu as du code qui fait référence au formulaire appelé, il ne sera pas exécuté et provoquera une erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenForm "G_PLANNING_TYPE_VISUEL", WindowMode:=acDialog
    Forms!G_PLANNING_TYPE_VISUEL.Form.Controls(0).Setfocus  '<== provoquera une erreur car le formulaire sera fermé
    la commande Setfocus ne pourra pas s'exécuter car le code s'arrête à l'instruction d'ouverture du formulaire appelé (G_PLANNING_TYPE_VISUEL), il ne continuera qu'à la fermeture de ce formulaire.
    Sinon, après il y a l'API ShowWindow qui permet de gérer n'importe quelle fenêtre y compris celles des formulaires Access.

    pour info, le Me.Refresh n'a rien à voir avec le problème de positionnement du formulaire.

  8. #8
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour à tout le monde.

    C'est encore avec beaucoup de retard que je vous remercie de votre aide. j'étais encore absent.

    merci beaucoup tee_grandbois. Je viens d'essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OpenForm "G_PLANNING_TYPE_VISUEL", WindowMode:=acDialog
    Cela fonctionne correctement pour l'instant. Pas encore eu de formulaire s'ouvrant en dessous. Je serai sûr après quelques ouvertures supplémentaires et vous tiendrai au courant.

    Je n'ai pas de Setfocus ou autre, donc pas de soucis pour utiliser cette méthode. Le formulaire que je veux ouvrir par dessus (image 1) est juste une vision graphique d'un planning (image 2).

    Nom : CALENDRIER_VISU_2.png
Affichages : 57
Taille : 67,1 Ko

    Nom : CALENDRIER_VISU_1.png
Affichages : 55
Taille : 46,8 Ko

    Encore merci. Je continu de tester.

    PS : Ce n'est pas la première base de donnée dans laquelle cela se produit. A chaque fois, c'est lorsque j'effectue un code très lourd effectuant des boucles longues
    notamment dans des calcul de dates ou d'heures. C'est lors de l'affichage du résultat de ces calculs dans un formulaire que cela se produit.

    Merci encore et bonne journée, bon Dimanche à tous.

  9. #9
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonjour à tout le monde.
    Je viens vous donner le résultat qui semble définitif.
    J'ai suffisamment testé ma base de données pour affirmer maintenant que cela fonctionne avec la solution de tee_grandbois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OpenForm "G_PLANNING_TYPE_VISUEL", WindowMode:=acDialog
    Plus d'ouverture de mon formulaire en dessous. Il s'ouvre par dessus comme demandé.
    Merci encore une fois pour votre aide.
    Je vous souhaite à tous une très bonne journée.

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

Discussions similaires

  1. Un background par dessus un autre
    Par psychoBob dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/05/2006, 12h04
  2. Probléme lorsqu'une fenétre passe par dessus l'autre...
    Par hostile dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 03/01/2006, 19h20
  3. Comment faire passer un menu par dessus une autre frame
    Par barthelv dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 29/11/2005, 11h03
  4. [débutant]Placer une image par dessus une autre
    Par sempire dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 21/11/2005, 18h42
  5. [Formulaire] filtrer liste par choix dans autre liste
    Par vatounet dans le forum Access
    Réponses: 4
    Dernier message: 05/10/2005, 15h57

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