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

Contribuez Discussion :

Ouvrir plusieurs instances d'un même Formulaire/Etat en même temps


Sujet :

Contribuez

  1. #1
    FMJ
    FMJ est déconnecté
    Membre averti
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    416
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 416
    Points : 356
    Points
    356
    Par défaut Ouvrir plusieurs instances d'un même Formulaire/Etat en même temps
    Salut

    Je suggèrerais d'ajouter à la FAQ cette méthode qui n'est abordée qu'une seule fois me semble-t-il dans la forum et encore, c'est pas vraiment accessible pour quelqu'un qui n'a pas l'habitude de la programmation objet et de sa syntaxe.

    Je suggèrerais donc une explication dans ce goût-là :



    VBA permet d'ouvrir une seconde (ou plus) instance d'un même formulaire (ou d'un état).
    Cette nouvelle instance sera indépendante du formulaire original mais aura une durée de vie liée à la portée de l'objet dans laquelle elle aura été déclarée (function, sub ou le formulaire original à partir duquel elle sera créée). Ex: si la déclarée est au niveau d'une sub, l'instance sera supprimée après l'exécution de End Sub. Donc en règle général, il vaut mieux la déclarer au niveau du formulaire.
    Aucune des modifications apportées à la nouvelle instance n'aura d'impact sur le formulaire (état) original.
    Par contre, cette méthode ne permet pas de passer d'argument du formulaire original vers la nouvelle instance en utilisant la propriété OpenArgs (cf. méthode Docmd.OpenForm). Aussi passer par l'enregistrement de ce paramètre dans une table.

    Pour créer une nouvelle instance, il suffit donc de :
    • Déclarer la variable correspondant à la nouvelle instance de formulaire au niveau de l'en-tête du formulaire original
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Dim MonNouveauFormulaire as Form_NomFormulaireOriginal
      Bien accoler Form_ au nom du formulaire original


      Pour un état, utiliser la syntaxe suivant :
      Dim MonNouvelEtat as Report_NomEtatOriginal





    Merci

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311

  3. #3
    FMJ
    FMJ est déconnecté
    Membre averti
    Profil pro
    tutu
    Inscrit en
    Octobre 2003
    Messages
    416
    Détails du profil
    Informations personnelles :
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : tutu

    Informations forums :
    Inscription : Octobre 2003
    Messages : 416
    Points : 356
    Points
    356
    Par défaut
    Salut Tofalu

    Autant pour moi, je n'avais pas vu ce tutorial.

    Par contre, sans vouloir être pinailleur, dans la masse du tutorial, celui-ci ne souligne par vraiment clairement (ou pas du tout) certains points à prendre garde que j'indiquais dans mon premier post : la durée de vie, l'instanciation avec FORM_.... qu'il faut comprendre, l'indépendance entre formulaires dupliqués, le passage d'arguments, etc.

    En complément, tu pense pas qu'une courte FAQ serait plus lue et plus efficace, en tout cas dans un premier temps ?

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut Passage de paramètre
    merci pour l'info.. j'ai appris quelque chose..

    en effet on ne peut pas passer de paramètre "OpenArgs" par cette méthode, mais plutôt que de passer par une table j'ai préféré passer les paramètres par une "property" créée préalablement dans la forme instanciée.

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/05/2011, 19h44
  2. [AC-2007] Ouvrir plusieurs instances d'un même formulaire
    Par Manouille dans le forum IHM
    Réponses: 2
    Dernier message: 07/01/2010, 16h29
  3. Ouvrir plusieurs instance d'Excel
    Par Ptchat33 dans le forum Général Java
    Réponses: 1
    Dernier message: 04/06/2009, 21h53
  4. Ouvrir plusieurs instances d'un même Etat
    Par SansSucre dans le forum IHM
    Réponses: 4
    Dernier message: 06/07/2007, 16h53
  5. Réponses: 3
    Dernier message: 16/10/2003, 10h22

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