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 :

[A-02] Suivre les évènement d'une forme depuis une autre forme


Sujet :

IHM

  1. #1
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    909
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 909
    Points : 1 360
    Points
    1 360
    Par défaut [A-02] Suivre les évènement d'une forme depuis une autre forme
    Bonjour,

    J'aimerais bien intercepter les évènements d'une forme dans une autre.
    Le but ?
    Ma db reprend les descriptions de fichiers que je stocke sur mon disque dur.
    La forme 1 est une liste des fichiers trouvés sur mon disque dur. S'ils ont une description, elle indiquée. Sinon, je mets une belle petite icône "?".
    Pour les fichiers sans description, l'utilisateur peut (via un menu contextuel) demander l'ajout du fichier dans la db. S'ouvre alors une forme 2 où l'utilisateur peut décrire le document.

    Ce que j'aimerais bien c'est que la forme1 entende le forme2_AfterInsert pour ajouter la nouvelle description et remplacer le "?" par un beau "OK".

    Dans ma conception (très orientée java) de la programmation, c'est à la forme1 de dire qu'elle veut "écouter" la forme2.

    Donc j'ai écrit dans la forme1:
    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
    Private WithEvents frm2 As Form_frmForme2
     
    'A appeller quand nécessaire
    Private Sub OpenAdminForm()
        DoCmd.OpenForm "frmForme2"
        Set frm2 = Forms.Frmforme2
    End Sub
     
     
    Private Sub frm2_AfterUpdate()
        MsgBox "Document updated"
    End Sub
     
    Private Sub frm2_AfterInsert()
        MsgBox "Document inserted"
    End Sub
    A la compilation, j'ai un message d'erreur :
    Object does not source automation events

    Et l'explication:
    An object must provide a default source interface so that you can write event procedures for its events. This error has the following causes and solutions:

    You tried to write an event procedure for an event of an object, but that event isn't available outside the object.
    See your object’s documentation for suggestions on less direct ways to deal with the event you are interested in.

    Ce que j'essaye n'est pas possible ?
    Voyiez-vous une autre possibilité de faire ce que je veux faire à partir de la Forme1 ?

    Merci,

    Laurent

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    503
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 503
    Points : 503
    Points
    503
    Par défaut
    Salut,

    et bien, fait le dans l'autre sens: c'est le formulaire 2 qui va avertir le formulaire 1 qu'il y a du changement, avec un Forms!TonForm1.refresh ou requery selon comment tu trouves les informations de form1.
    6ril25



    "Par trois méthodes nous pouvons apprendre la sagesse : d'abord, par la réflexion qui est la plus noble; en second lieu, par l'imitation, qui est la plus facile; et troisième, par l'expérience, qui est la plus amère." Confucius

  3. #3
    lvr
    lvr est déconnecté
    Membre extrêmement actif Avatar de lvr
    Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2006
    Messages
    909
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Avril 2006
    Messages : 909
    Points : 1 360
    Points
    1 360
    Par défaut
    et bien, fait le dans l'autre sens: c'est le formulaire 2 qui va avertir le formulaire 1 qu'il y a du changement, avec un Forms!TonForm1.refresh ou requery selon comment tu trouves les informations de form1.
    Je voulais éviter cela, ce n'est vraiment pas très propre ! Si je ne trouve pas d'autre solution, je ferai cela comme ça. Si je pouvais faire fonctionner ce que j'avais prévu ce serait vraiment mieux !

    Un idée de la raison de cette erreur ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/10/2015, 17h16
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. Acceder a une listbox depuis d'autre form avec une class
    Par NazOok dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/05/2011, 11h16
  4. comment avoir une valeur d'une form1 dans un autre form
    Par sabrina_beautyful dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/05/2009, 14h53
  5. Réponses: 3
    Dernier message: 05/06/2006, 21h14

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