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 :

Affichage du contenu d'un form selon 2 méthodes d'appel


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut Affichage du contenu d'un form selon 2 méthodes d'appel
    Bonjour,

    J’aimerai votre avis sur le point suivant :

    J’ai créé un formulaire (Form1) dans lequel se trouvent une zone de liste déroulante et un sous form. Ces 2 objets sont en relation (champs père-fils, sur sélection dans le zone de liste, le sous form affiche les données correspondantes, pas de problème).

    Par contre, ce formulaire peut être appelé de 2 façons différentes :
    -d’un bouton d’un autre formulaire. De ce bouton, j’appelle Form1 avec un critère (l’assistant fait ça très bien), le sous formulaire affiche le données correspondantes, tout est encore ok (le formulaire sur lequel se trouve ce bouton et Form1 ont la même table en source).

    -de ma barre de menu (c’est ici que je coince). Si j’appelle Form1 à partir de la barre de menu, Form1 s’ouvre sur le 1er enregistrement avec les données du sous form correspondante. Or je souhaiterai que celui-ci s’ouvre sans enregistrement en cours (sans données dans la zone de liste et le sous form), mais en pouvant faire la sélection de mon choix dans la zone de liste et qu’ensuite le sous form se rafraichisse.

    Auriez-vous une idée ?

    Merci par avance de votre aide

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Je ne comprends pas bien comment est construit ton form1.
    A-t-il une source de données ou est-il indépendant?

    Ta liaison Père-fils fait bien référence au controle zone de liste?

    Quel code utilises-tu pour ouvrir et synchroniser depuis l'autre formulaire?

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut
    Re,

    Dans la base, 2 tables (Tbl1, et Tbl2), 2 formulaires (Form0 et Form1), 1 sous formulaire (SForm1) contenu dans Form1.

    Form0 et Form1 ont Tbl1 en source. SForm1 a Tbl2 en source.
    Fomr1 contient 1 zone de liste et SForm1. Quand je sélectionne un enregistrement dans la zone de liste, les données de SForm1 se rafraîchissent correctement (la liaison père-fils s’effectue sur le même champ de Tbl1).

    Sur Form0, un bouton avec ce code (fait par l’assistant, j’ai juste enlevé la gestion des erreurs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub MonBtn_Click()
        Dim stDocName As String
        Dim stLinkCriteria As String
        stDocName = "Form1"
        stLinkCriteria = "[Id]=" & Me![Id]
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    End Sub
    Par cette méthode d’appel, tout est ok. Le problème est quand j’appelle Form1 depuis la barre de menu. Il affiche systématiquement le 1er enregistrement de Tbl1. Or j’aimerai que la zone de liste et SForm1 n’affichent rien.

    J’espère avoir été plus clair. Merci de ton aide

  4. #4
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Citation Envoyé par kgb1917
    J’espère avoir été plus clair. Merci de ton aide
    Oui


    mais je présens un problème d'architecture de ton form.

    ta zone de liste:
    • est-elle dépendante d'un champ de la source tbl1?
    • comment s'appelle le controle? ID?
    • Qu'est-ce que tu as précisément comme propriétés Père et Fils?

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut
    Re,

    la zone de liste est dépendante actuellement du champ Id de Tbl1.
    comment s'appelle le controle? ID?
    Si c'est de la zone de liste dont tu parles, c'est lstId.

    Qu'est-ce que tu as précisément comme propriétés Père et Fils?
    Si c'est pour la relation entre lstId et SForm1, cette relation est basée sur Id. (Tbl2 possède comme champ de rèf Id de Tbl1).

    J'espère que je suis toujours clair.

    Tout est ok qd j'appelle Form1 de Form0 (je suis passé par l'assistant pour ça et pour construire Form1). Le pb intervient qd je l'appelle de la barre de menu.

    Merci de ton aide

  6. #6
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Donc, si je comprends bien, ce qui m'inquiète c'est que quand tu cliques sur un élément de la liste, tu modifies la valeur de l'ID de l'enregistrement en cours... je me trompe?


    Pour l'ouverture vierge, une instruction de ce genre devrait faire l'affaire non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.OpenForm "Form1",,,,acFormAdd

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 285
    Points : 99
    Points
    99
    Par défaut
    Re,

    Pour répondre à ta question, oui (je pense) si j'appelle Form1 de la barre de menu.

    Sinon, j'ai pas encore testé cette instruction mais je ne vois pas où je peux la placer pour qu'il n'y ait pas d'interférence avec l'ouverture de Form1 à partir de Form0.

    Merci de ta patience

Discussions similaires

  1. [MySQL] affichage du contenu de BD MySQL sous forme de liste déroulante
    Par logiclogic dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/03/2013, 11h41
  2. mise en forme selon le contenu de 2 colonnes
    Par Jasmine80 dans le forum Excel
    Réponses: 2
    Dernier message: 22/12/2009, 09h14
  3. Réponses: 3
    Dernier message: 19/07/2009, 17h17
  4. Affichage d'une Form selon l'option sélectionnée
    Par roura dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 04/08/2007, 16h21
  5. Affichage du contenu d'une textbox d'une autre form
    Par maxmarie dans le forum VB.NET
    Réponses: 8
    Dernier message: 13/06/2007, 16h23

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