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 :

Plusieurs instances d'un même Formulaire


Sujet :

IHM

  1. #1
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut Plusieurs instances d'un même Formulaire
    Bonjour,

    J'ouvre plusieurs instances d'un même formulaire, mon problème est comment faire référence à un de ces formulaires.

    Je connais son hwnd mais il n'est pas possible de faire forms( numhwnd)("nomcontrole")

    Par son index ?

    Avez-vous une idée ?

    Merci.

  2. #2
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut
    Bonsoir,

    Tu parcours la collection Forms.
    Lorsque Forms(i).Hwnd correspond au Hwnd du formulaire ciblé, tu peux utiliser Forms(i).NomDuContrôle.
    Ça c'est pour du VBA, et je pense que tu l'as déjà trouvé tout seul.

    Pour une requête en revanche, c'est plus compliqué, et ça dépend de ce que tu veux faire et dans quel contexte.
    Une piste, avec une fonction. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function fnValeurCtlFormParHwnd(hWnd As Long, sNomCtl As String) As Variant
    Dim vRetour As Variant, fm As Form
     
    vRetour = Null
    For Each fm In Forms
        If fm.hWnd = hWnd Then
           vRetour = fm.Controls(sNomCtl).Value
        End If
    Next
     
    fnValeurCtlFormParHwnd = vRetour
    End Function
    Après, comment la requête connaît-elle le numéro de hwnd ... ?

    A+

  3. #3
    ARO
    ARO est déconnecté
    Membre habitué

    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 74
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    J'avais trouver quelque chose dans le même style, mais je trouvais cela un peu lourd de boucler a chaque fois sur les Forms.

    Je garde ton code qui est mieux que le mien.

    Merci, pour ton aide.

    Bonne journée

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

Discussions similaires

  1. Plusieurs instances d'un même Formulaire
    Par ARO dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2014, 18h16
  2. [AC-2003] Obtenir plusieurs instances d'un même formulaire
    Par Yggdra dans le forum IHM
    Réponses: 5
    Dernier message: 29/03/2012, 15h07
  3. [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
  4. Réponses: 3
    Dernier message: 17/11/2009, 13h55
  5. Réponses: 2
    Dernier message: 14/12/2007, 18h03

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