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

VBA Access Discussion :

Fermeture d'un formulaire : Ne fonctionne qu'une fois sur deux


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 41
    Points : 30
    Points
    30
    Par défaut Fermeture d'un formulaire : Ne fonctionne qu'une fois sur deux
    Bonjour à tous,

    Cela fait un petit moment que je fais des outils en VBA/ACCESS 2003, et depuis quelques jours, j'ai un soucis avec la commande banale "DoCmd.close"

    Ainsi, sur le bouton "Close" d'un formulaire, j'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.Close acForm, Me.Name
    Jusque là, rien d'anormal, sauf que lorsque je clique sur le bouton "Close", le formulaire ne se ferme pas à chaque fois. Il faut à chaque fois cliquer 2 fois pour qu'il se ferme.

    Quelqu'un a déjà eu ce problème ou une idée de la provenance de ce "Bug" ?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de stigma
    Homme Profil pro
    Créateur jeux vidéo
    Inscrit en
    Octobre 2003
    Messages
    1 111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Créateur jeux vidéo
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 111
    Points : 1 612
    Points
    1 612
    Par défaut
    Personnellement, je nomme le form que je veux fermer, même si je suis dedans.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.Close acForm, "F_Meules"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Oui, ça revient au même (sauf que le "Me.Name" est générique à tous les formulaires).

    J'ai également testé de cette façon, mais le résultat persiste

    Edit : Je tiens à préciser que j'ai pas mal d'outils qui tournent déjà depuis longtemps, et qui sont conçus de la même façon, et il n'y a aucun problème.

  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 040
    Points
    16 040
    Par défaut
    Bonjour,

    Tu fais des compactages régulier de ta base ?

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Salut Domi,

    Ca dépend ce qu'on appelle "Souvent", mais oui je compacte avant chaque mise en production.

    Je viens de le faire, et ça ne change rien (d'autant plus que pour l'instant je n'ai aucune donnée, car je ne fais que des maquettes de formulaire pour une spec. La mdb est donc très léger).

    Petite autre précision qui a peut être de l'importance :

    Je lance le formulaire en question directement depuis la liste des formulaire (Via la touche F5) : Le bouton close marche très bien :

    Le même formulaire s'ouvre par code (en cliquant sur un autre bouton d'un autre formulaire) : Le bouton close marche mal.

    Pour info, le code d'ouverture d'un formulaire (ce n'est pas le seul cas. C'est toujours le même problème pour tous les formulaires) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub btn_create_Click()
        On Error GoTo gestErr
            DoCmd.OpenForm Form_F_FRET_CREATE.Name, , , , , acDialog
        Exit Sub
    gestErr:
       ' Gestion d'erreur
     
    End Sub

  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 040
    Points
    16 040
    Par défaut
    Re,

    Hem...

    Je ne vois rien de spécial...

    Tu as une raison particulière d'utiliser le mode fenêtre acDialog ?

    Domi2
    Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

    Ici, on ne perd pas de temps ! On en passe...


    Access : créer des codes-barres 128 en VBA
    Access : les commandes intégrées des menus

    Ce message (ou un autre) vous a aidé ? Votez pour lui avec

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 41
    Points : 30
    Points
    30
    Par défaut
    Ouhouuuuuuuuuuuuuuuuu

    J'ai trouvé!! Si ça peut intéresser quelqu'un :

    Le problème vient de l'ouverture du formulaire en fait (Va comprendre pourquoi)

    Si j'ouvre le formulaire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub btn_create_Click()
        On Error GoTo gestErr
            DoCmd.OpenForm Form_F_FRET_CREATE.Name, , , , , acDialog
        Exit Sub
    gestErr:
       ' Gestion d'erreur
     
    End Sub
    La fermeture du formulaire F_FRET_CREATE fonctionne MAL

    Par contre, si j'ouvre comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub btn_create_Click()
        On Error GoTo gestErr
            DoCmd.OpenForm "FRET_CREATE", , , , , acDialog
        Exit Sub
    gestErr:
       ' Gestion d'erreur
     
    End Sub
    => Tout est ok

    Par contre, si quelqu'un a une explication logique, ça m'interesse

    EDIT : Stigma t'avais presque raison, sauf que c'était à l'ouverture du form (j'ai testé pour la fermeture, ça ne change rien). Mais décidément, Access restera toujours très flou sur certains points

    Merci à vous 2 pour vos réponses

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/04/2015, 22h47
  2. Réponses: 2
    Dernier message: 11/11/2012, 00h38
  3. [AC-2010] Exportation d'un recordset vers Excel ne fonctionne qu'une fois sur deux
    Par Scregneugneu dans le forum VBA Access
    Réponses: 3
    Dernier message: 11/03/2012, 19h47
  4. [AC-2007] After Insert qui fonctionne mal une fois sur deux
    Par DamKre dans le forum IHM
    Réponses: 4
    Dernier message: 27/12/2011, 10h29
  5. le sous formulaire s'affiche une fois sur deux
    Par Math dans le forum Access
    Réponses: 16
    Dernier message: 10/10/2005, 15h25

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