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 :

Fermeture état en fonction du formulaire ouvert


Sujet :

IHM

  1. #1
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut Fermeture état en fonction du formulaire ouvert
    Bonjour,

    J'ai un état A ouvert par un formulaire X ou Y.

    Je voudrais savoir s'il est possible lors de la fermeture de cet état A de ré ouvrir le formulaire qui a été utilisé pour l'ouvrir. Sachant que le formulaire X ou Y a été fermé pour l'ouverture de l'état A.

    Merci d'avance de votre aide.

    Marcopololo

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Lorsque tu ouvres ton état avec la commande DoCmd.OpenReport, comme dernier argument tu passes en paramètre le nom de ton formulaire.

    Ex : à mettre sur le bouton d'ouverture de l'état dans ton formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DoCmd.OpenReport "etat2", acViewPreview, , , , Me.NAME
    Tu passes donc le nom de ton formulaire en paramètre.

    Maintenant dans ton état :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Report_Open(Cancel As Integer)
        DoCmd.Close acForm, Me.OpenArgs
    End Sub
    A l'ouverture tu fermes le formulaire

    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Report_Close()
        DoCmd.OpenForm Me.OpenArgs
    End Sub
    A la fermeture de ton état tu ouvres le formulaire.

    Je t'invite à user de pour voir la syntaxe complète de ces commandes.

    Starec

  3. #3
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Merci Starec pour ta rapidité,

    J'ai un petit soucis. Lors de l'ouverture de mon état j'ai un plantage de la routine.
    Voici le code que j'ai rentré dans la procédure de mon formulaire, dans le groupe d'option. J'ai fait la même chose pour "case 2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Case 1         'Ouvre l'état Infos de clients avec une recherche par Nom Entreprise
                DoCmd.OpenReport "Infos par Client", acViewPreview, Me.Name, "[NomEntreprise]like '" & Nz(Me.SélectionClientNom, "*") & "'"
    Et pour mon état :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Report_Close()
    
        DoCmd.OpenForm Me.OpenArgs              'Ouvre le formulaire mémorisé à la fermeture de l'état
        
    End Sub
    
    Private Sub Report_Open(Cancel As Integer)
    
        DoCmd.Close acForm, Me.OpenArgs         'Garde en mémoire le nom du formulaire qui a ouvert l'état
    
    End Sub
    L'erreur du déboggeur se mettant sur la ligne Report_Open.

    Encore merci

    Marcopololo

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Regardes la syntaxe de l'OpenReport, le Me.Name est mal placé, il doit être à la place du paramètre OpenArgs, après ta clause Where.

    Regardes la syntaxe, je te l'ai dit.
    Starec

  5. #5
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    J'espère que tu ne vas pas trop crié.
    J'ai modifié mon code en déplaçant le Me.name.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "Infos par Client", acViewPreview, "", "[NomEntreprise]like '" & Nz(Me.SélectionClientNom, "*") & "', Me.name"
    J'espère qu'il est bien placé, ce dont je doute, car lorsque je clique sur mon bouton Aperçu, le déboggeur reste sur la ligne de Report_open en me renvoyant une valeur null à Me.OpenArgs.

    J'ai un petit peu de mal avec la syntaxe de ces fonctions que je ne connaissais pas.

    Merci

    Marcopololo

  6. #6
    Invité
    Invité(e)
    Par défaut
    Essayes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "Infos par Client", acViewPreview, "", "[NomEntreprise]like '" & Nz(Me.SélectionClientNom, "*") & "'", Me.name
    Tu ne dois pas avoir de double-quotes à la fin, c'est avant.

    Starec

  7. #7
    Membre régulier Avatar de Marcopololo
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 288
    Points : 84
    Points
    84
    Par défaut
    Au départ j'avais mis l'argument me.name là mais il n'en veut pas. Le déboggeur s'arrête encore sur la ligne openreport du formulaire.

    Marcopololo


    Désolé Starec, j'avais oublié une virgule pour arriver à l'argument avant le Me.name.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "Infos par Client", acViewPreview, "", "[NomEntreprise]like '" & Nz(Me.SélectionClientNom, "*") & "'", , Me.Name
    C'est en cherchant que l'on apprend.

    Encore merci et à la prochaine, je m'arrache les cheveux sur la fonction dlookup. J'ai posté un autre message.

    Marcopololo

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/03/2011, 11h27
  2. [AC-2007] Test Formulaire ouvert à l'ouverture d'un état
    Par CrasherSEP dans le forum VBA Access
    Réponses: 8
    Dernier message: 22/11/2010, 09h38
  3. Réponses: 1
    Dernier message: 06/05/2009, 16h36
  4. Réponses: 1
    Dernier message: 16/07/2007, 20h03
  5. Réponses: 6
    Dernier message: 08/11/2005, 15h44

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