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 :

[FORMULAIRE] Ne peut pas être fermé par Application.Quit()


Sujet :

IHM

  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 189
    Points : 151
    Points
    151
    Par défaut [FORMULAIRE] Ne peut pas être fermé par Application.Quit()
    Bonjour,

    Cette question concerne deux objets Access:
    1. rptEtat
    2. frmChoiceDialog

    J'ai un formulaire "frmChoiceDialog" ouvert en mode DIALOG par l'évènement Fermeture d'un état "rptEtat" afin de faire un choix par utilisateur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Report_close()
    '...
    '
    ' ouvrir un dialog pour un choix:
    '
      DoCmd.OpenForm "frmChoiceDialog", acNormal, "", "",  acFormPropertySettings, acDialog, Null
    '...
    '
    End Sub
    Quand rptEtat est ouvert, et je quitte Access.Application() au lieu d'abord de fermer l'état, ce qui provoque la fermeture de l'état, qui à son tour ouvre le formulaire frmChoiceDialog comme prévu par Report_Close().

    Le problème est que, ce formulaire (frmChoiceDialog) demeure ouvert à jamais sans pouvoir accepter aucun clic de souris, ni touche clavier: on ne peut plus le fermer. Ainsi, Access demeure ouvert, on ne peut plus le quitter.

    La seule solution reste alors taskmgr.exe pour supprimer le processus msaccess.exe.

    Avez-vous le même problème, et une solution SVP ?

  2. #2
    Membre chevronné
    Avatar de Demco
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 396
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 396
    Points : 2 228
    Points
    2 228
    Par défaut
    Quand rptEtat est ouvert, et je quitte Access.Application() au lieu d'abord de fermer l'état
    Tu peux peut-être mettre un vérification avant Access.Application() et demander à l'utilisateur de fermer l'état.

    Ou alors avant de quitter Access.Application() tu vérifies si l'état est ouvert, tu le ferme et ensuite tu fermes frmChoiceDialog qui a dû s'ouvrir entre temps.

    Algo :
    Si rptEtat ouvert : Fermer rptEtat
    Fermer frmChoiceDialog
    Quitter Access.Application()

    En espérant t'aider.

  3. #3
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 189
    Points : 151
    Points
    151
    Par défaut
    Merci de ta réponse.

    En fait, Access.Application.Quit() est provoqué par un clic souris sur le bouton de fermeture de la fenêtre Windows Access, intentionnellement ou non. Comme il n'y a pas d'évènement Application.Quit(), je ne peux faire aucune prévision.

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Il est possible de désactiver le x de fermeture de la fenêtre de l'application.

    Regarde ici.

    Domi2

  5. #5
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 189
    Points : 151
    Points
    151
    Par défaut
    Merci de ta proposition,
    Mais j'ai essayé API::RemoveMenu(), ça n'a pas marché chez moi avec Access 2007/Windows Vista.

  6. #6
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Re,

    Sorry, pas pensé à ça...

    Dans la FAQ 2007, il n'y a rien de similaire ?

    Domi2

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    Salut,
    une suggestion: avant de lancer ton ...application.quit , lance une commande qui te fermera tous les états eventuellement ouverts :
    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
     
    Public Sub closeAllReports()
    'M Nivet
     
        On Error GoTo Err_Section
     
        Do While Reports.Count > 0
            DoCmd.Close acReport, Reports(0).Name
        Loop
     
    Exit_Section:
        Exit Sub
     
    Err_Section:
        MsgBox err.Description, vbCritical, "Erreur Sub CloseAllReports"
        Resume Exit_Section
     
    End Sub

  8. #8
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 189
    Points : 151
    Points
    151
    Par défaut
    => micniv,

    En fait je ne peux pas présentir la fermeture de l'application Access. L'expression de Application.Quit() n'est qu'un raccourci de description, elle n'est pas lancée par le code VBA. Car dans mon cas Access est quitté par un clic souris sur le bouton [x] fermer de fenêtre Windows Access. cf http://www.developpez.net/forums/sho...34&postcount=3

  9. #9
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    Edit : oups , je viens de lire le début du fil.
    La solution propre, comme proposée plus haut est donc de désactiver (même temporairement) le bouton de fermeture d'access et d'ajouter un bon de fermeture dans ton menu ...



  10. #10
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 189
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Non seulement je n'arrive pas à désactiver [x] en Access 2007/
    Windows Vista. Mais aussi pour l'instant il serait souhaitable d'avoir un moyen que Acess ferme même le formulaire ouvert en Mode Dialog.

    Par ailleur, j'ai essayé de remplacer le Formulaire frmChoiceDialog par un MsgBox() qui est elle aussi bloquante, Access arrive bel et bien à la fermer automatiquement. Je ne comprends pas pourquoi ça ne se fait pas avec un formulaire Access utilisateur.

  11. #11
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 912
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 912
    Points : 4 811
    Points
    4 811
    Par défaut
    Sorry, mais je n'ai pas access 2007

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/12/2011, 07h03
  2. Réponses: 3
    Dernier message: 14/05/2008, 11h16
  3. Liens URL : La mémoire ne peut pas être "read" ?
    Par fredfred dans le forum Windows XP
    Réponses: 4
    Dernier message: 28/07/2006, 08h48
  4. Réponses: 8
    Dernier message: 20/07/2006, 12h30
  5. Réponses: 6
    Dernier message: 03/09/2003, 10h29

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