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 :

Problème de listes déroulantes liées [Toutes versions]


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 27
    Points : 25
    Points
    25
    Par défaut Problème de listes déroulantes liées
    Bonjour,

    J'ai un problème de listes déroulantes liées (malgré le tuto disponible sur le site).

    Voici à quoi ça ressemble:


    Une liste déroulante nommée "Type" contient des valeurs 1 (pour l'étiquette Produit) et 2 (pour l'étiquette Menu).

    Suivant le choix effectué, la liste déroulante "Produit_vendu" se met à jour en n'affichant que les produits si Type vaut 1 ou que les menus si Type vaut 2.

    Problème, ça ne marche pas!

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Type_AfterUpdate()
    Dim Valeur As Long
    Dim SQL As String
    If Not IsNumeric(Me!Type) Then Exit Sub
    Valeur = Me!Type
    If Valeur=1 Then
    SQL="SELECT [Produit].[id_produit], [Produit].[nom_produit] FROM [Produit]"
    Else
    SQL="SELECT [Menu].[id_menu], [Menu].[nom_menu] FROM [Menu]"
    Produit_vendu.RowSource = SQL
    Produit_vendu.Enabled = True
    Produit_vendu.SetFocus
    Produit_vendu.Dropdown
    End Sub
    Qu'est-ce qui cloche ? Merci pour vos réponses.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    Bonjour,
    Il me semble qui t'as oublié le "End If":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Valeur=1 Then
        SQL="SELECT [Produit].[id_produit], [Produit].[nom_produit] FROM [Produit]"
    Else
        SQL="SELECT [Menu].[id_menu], [Menu].[nom_menu] FROM [Menu]"
    End If

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    ..et peut être rajouter un Requery
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Produit_vendu.RowSource = SQL
    Produit_vendu.Requery
    Frédéric
    Développeur d'Applications Access

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    923
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 923
    Points : 760
    Points
    760
    Par défaut
    C'est vrai...
    Je me suis arreté au "End If".

  5. #5
    Membre habitué Avatar de miamou
    Inscrit en
    Novembre 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 161
    Points : 178
    Points
    178
    Par défaut
    Bonjour;
    Une liste déroulante nommée "Type" contient des valeurs 1 (pour l'étiquette Produit) et 2 (pour l'étiquette Menu).

    Suivant le choix effectué, la liste déroulante "Produit_vendu" se met à jour en n'affichant que les produits si Type vaut 1 ou que les menus si Type vaut 2.
    Personnellement je procèderai de la manière suivante (que je crois plus simple ):
    * je créerai la liste type où le contenu provient de la table des types (en utilisant l'assistant)
    * Pour la deuxième liste "Produit_vendu" je vais sur la propriété Données--> Contenu et je metterai la requete suivante (tjr avec l'assistant):
    je selectionnerai la table des produits vendus, les champs à afficher c'est le Id de la table et le nom des produits vendus et un champ caché c'est le Id du type (la clé étrangère).dans le critère de ce dernier je metterai :[Forms]![NomFormulaire]![Produit_vendu] et dans l'évènement Après MAJ mettreoCmd.Requery
    c'est un peu long mais c'est très facile à mettre en oeuvre

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 27
    Points : 25
    Points
    25
    Par défaut
    Ca ne marche toujours pas.

    Je me permets de poster mon fichier (épuré au maximum) car je ne vois vraiment pas le problème.

    TELECHARGER

    Merci pour votre aide

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Re

    Ben....chez moi ça marche très bien.

    Quand je choisis Menu j'ai produit3
    Quand je choisis Produits j'ai produit1 et produit2

    Les symptomes chez toi c'est quoi ??
    Frédéric
    Développeur d'Applications Access

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 27
    Points : 25
    Points
    25
    Par défaut
    Rien ne change dans la 2ème liste déroulante.

    Problème de configuration d'Access ?

    EDIT: problème résolu, macros désactivées en fait!

    Merci pour vos différentes aides.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 35
    Points : 23
    Points
    23
    Par défaut
    Bonjour Miamou, j'ai appliqué ta solution mais ça ne fonctionne pas sur un formulaire de type Tableau (une ligne par enregistremet) car la deuxième liste
    affiche systématiquement les enregistrements liés à la table de la première ligne et non celle sur laquelle je clique.

    D'ou vient ce problème?

    Merci d'avance

  10. #10
    Membre habitué Avatar de miamou
    Inscrit en
    Novembre 2009
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 161
    Points : 178
    Points
    178
    Par défaut
    alors là je suis perdu et j'arrive pas à comprendre
    j'ai besoin de plus de détail stp BW7541

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

Discussions similaires

  1. Problèmes de liste déroulante liée dans formulaire continu
    Par delgicoule dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 27/08/2013, 14h34
  2. problème de listes déroulantes liées dynamiques avec jsp
    Par solfegepro dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 09/08/2007, 17h11
  3. Réponses: 2
    Dernier message: 26/05/2007, 17h28
  4. [AJAX] Listes déroulantes liées avec Ajax
    Par paupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2006, 16h51
  5. [MySQL] Problème de listes déroulantes liées avec requêtes sql
    Par richton95 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/12/2005, 16h04

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