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 :

Filtrer une liste déroulante dans sous-formulaire


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Filtrer une liste déroulante dans sous-formulaire
    Bonjour,

    J'ai une base qui comporte 3 tables :
    Client
    Contact
    Dossier

    Un client a plusieurs contacts et plusieurs dossiers. Mais pour chaque dossier, je veux pouvoir sélectionner un contact dans la liste des contacts et je voudrais que la liste n'affiche que les contacts qui appartiennent à ce client.
    J'ai donc un formulaire principal "client" incluant deux SFormulaires de même niveau SFContact et SFDossier. La table SFDossier comporte un champ"DossierIDContact".

    J'ai tenté de suivre ceci : http://access.developpez.com/faq/?page=zdl#DepZdl

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Contact.IDContact, Contact.IDClient, Contact.ContactNom FROM Contact WHERE (([IDClient]=Forms!SFDossier!DossierIDClient));
    La liste ne se rafraîchit pas quand on change de client, elle reste toujours figée sur le premier enregistrement à l'ouverture du formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub cboDossierIDClient_Change()
    Me.cboDossierIDContact.Requery
    End Sub
    En PJ, une version "mini" de ma base.

    Ce n'est pas très compliqué... mais tout se mélange, je n'y arrive vraiment pas ! (déjà une journée et demi là-dessus... incroyable !)
    Merci à vous.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    315
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 315
    Points : 243
    Points
    243
    Par défaut
    Bonjour,

    dans la description de ton sujet, tu dis :
    1. Un client a plusieurs contacts
    2. Un client a plusieurs dossiers.
    3. un dossier a un contact dans la liste des contacts
    4. la liste n'affiche que les contacts qui appartiennent à ce client.

    Je pense que ton problème est lié à tes conditions

    le client a deux contacts : Bruno et Cécile
    Le contact Bruno a deux dossiers : maison et voiture
    le dossier maison possède le contact : Bruno
    la liste affiche : Bruno et Cécile

    Si tu souhaites lier un contact à un dossier :
    Placer SFContact dans SFDossier
    modifier le type de donnée de DossierIDContact = Mumérique

    Si tu souhaites lier un contact à ton client : la source de ton formulaire principale doit comporter une requête avec les champs des tables contact et client
    Et sur l'évènement "après MAJ" de ta liste, tu rafraichis la requête source du formulaire.
    Ce n'est pas très compliqué... mais tout se mélange, je n'y arrive vraiment pas ! (déjà une journée et demi là-dessus... incroyable !)
    Ce n'est rien, jai fais pire avec un code plus simple ! Et LE VIEUX est arrivé avec ses bonnes astuces pour me sauver !
    Alain

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/06/2013, 23h40
  2. Listes déroulantes dans sous-formulaire
    Par Moussy dans le forum IHM
    Réponses: 3
    Dernier message: 10/10/2007, 22h21
  3. Réponses: 1
    Dernier message: 04/05/2007, 12h15
  4. [MySQL] Renseigner une liste déroulante dans un formulaire en faisant une jointure.
    Par bilou95 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 16/10/2006, 10h12
  5. Réponses: 5
    Dernier message: 27/08/2006, 14h18

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