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 :

Lien entre plusieurs formulaires par listes déroulantes


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 31
    Points
    31
    Par défaut Lien entre plusieurs formulaires par listes déroulantes
    Bonjour, je suis une débutante en Access et je suis en train de créer une base de données pour mon stage de fin d’études! Mais cela fait 3 semaines que je bloque sur un problème !

    Je vous explique je suis sur mon formulaire « recherche par spécialité » ou j’ai 3 colonnes :
    - Specialite (Qui nous donne le nom de la spécialité)
    - TypeTravaux (Qui nous donne le type de travaux propre à sa spécialité. Il existe plusieurs types de travaux par spécialité)
    - CoutTotal (qui est coût total correspondant à la ligne)


    En bas de mon formulaire j’ai une combo box ou j'ai le choix entre toutes les spécialités. Quand j’en sélectionne une dans ce champs je clique sur un bouton et j’arrive sur un nouveau formulaire avec seulement la spécialité précédement sélectionnée dans l’autre formulaire.
    J’espère que pour l'instant que je suis claire !

    Mon problème arrive ici ! Dans ce nouveau formulaire « Recherche par type de travaux », j'ai toujours mes 3 colonnes mais uniquement celles de la spécialité séléctionnée précédement.
    J’ai également un combo box mais je n’arrive pas à faire que les données dans cette combo box soit uniquement les types de travaux de la spécialité sélectionnée. Je n'arrive moi qu'à n'avoir tous les type de travaux de toutes les spécialités confondues! Et j'aimerais que dans cette liste je n'ai qu'une seule fois les types de travaux qui sont en plusieurs exemplaires.

    J’espère que vous pourrez m’aider car là je ne sais plus quoi faire !

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Il faut filtrer la RowSource de ta liste de choix. Cette RowSource doit actuellement être une requête sur les types de travaux. Tu la transformes en requête type de travaux -jointure- spécialité, et tu filtres sur spécialité avec la valeur de celle choisie.

    Bon courage,

    pgz

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 31
    Points
    31
    Par défaut
    Je vais peut être te paraître débile mais j'ai du mal à comprendre ce que tu veux que je fasse:
    Tout ce que tu me dis de faire, il faut que je le fasse directement dans la propriété de la liste déroulante des types de travaux, du second formulaire c'est bien ca? Et, je vois pas bien comment faire une jointure et filtrer directement dans « propriété »….

    Honte à moi...

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 31
    Points
    31
    Par défaut
    En fait j'ai mis dans la liste déroulante de type de travaux dans mon second formulaire l'expression :

    SELECT DISTINCT [Q-Regroupement Type Travaux].[Type_travaux] FROM [Q-Regroupement Type Travaux] ORDER BY [Type_travaux] WHERE [Q-Regroupement Type Travaux].[Nom_specialite] = [Forms] ![Formulaire1].[Nom_specialite]

    Et ca marche pas!

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 31
    Points
    31
    Par défaut
    Bon j'ai fait ca dans ma liste déroulante de type de travaux dans le fromulaire2 :
    SELECT DISTINCT [Q-Regroupement Type Travaux].Type_travaux FROM [Q-Regroupement Type Travaux] WHERE [Q-Regroupement Type Travaux].Nom_specialite=Forms![Formulaire2].Nom_specialite;

    Ca marche une fois c'est a dire que si dans le premier formulaire je choisis une spécialité dans le second formulaire dans la liste déroulante j'ai bien les type de travaux correspondant à cette spécialité. Mais si je recommence, c'est a dire je clique sur le bouton du formulaire 2 qui me ramene au formulaire1 et que je choisis une autre spécialité, j'ai toujours les type de travaux de l'ancienne spécialité dans la liste déroulante du second formulaire!

  6. #6
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Re,

    Sur l'évènement activé de ton formulaire, tu peux essayer de faire : MaListeDeChoix.Requery

    pgz

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par pgz
    Re,

    Sur l'évènement activé de ton formulaire, tu peux essayer de faire : MaListeDeChoix.Requery

    pgz

    Merci pgz j'y avais pensé. J'ai mis :

    Private Sub Nom_specialite_Change()
    Me.MaListeDeChoix.Requery
    End Sub


    Et ca a pas marché! Alors j'ai tenté :

    Private Sub Nom_specialite_AfterUpdate()
    Me.MaListeDeChoix.Value = Null
    Me.MaListeDeChoix.Requery
    End Sub


    je l'ai aussi fait sur :

    Private Sub MaListeDeChoix et non Private Sub Nom_specialite et ca marche pô!

    Je sais que c'est une écriture du genre mais je ne trouve pas. Ca se trouve je ne suis pas sur le bon Private Sub quand je tape ce code?

  8. #8
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Re,

    J'avais cru comprendre que le choix de spécialité se faisait dans le form1 et que la liste à mettre à jour était dans le form2. Ce n'est pas ça?

    pgz

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 63
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par pgz
    Re,

    J'avais cru comprendre que le choix de spécialité se faisait dans le form1 et que la liste à mettre à jour était dans le form2. Ce n'est pas ça?

    pgz

    Oui oui c'est tout a fait ca, et mon requery je le fait dans le second formulaire.

  10. #10
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Moi j'essaierais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private sub Form2_OnActivate()
    Me.MaListe.Requery
    End sub
    soit l'évènement activé du form2.

    pgz

Discussions similaires

  1. [IP-2010] choix de formulaire par liste déroulante
    Par stephen12 dans le forum InfoPath
    Réponses: 2
    Dernier message: 24/04/2014, 11h46
  2. Réponses: 18
    Dernier message: 23/12/2011, 20h11
  3. [VB.Net]Créer des liens entre plusieurs formulaires?
    Par Unreal Time dans le forum VB.NET
    Réponses: 6
    Dernier message: 23/12/2010, 09h25
  4. champs de formulaire par liste déroulante multichoix
    Par malkie dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/02/2008, 23h10
  5. Réponses: 3
    Dernier message: 17/04/2007, 17h24

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