Visites

   visiteurs

   visiteurs en ligne

Sujet n°252 Filtrer enregistrement depuis une liste déroulante
    par belilan le 21/07/2009 : 13:43
Bonjour,
j'ai une base avec 2 tables: catégorie et produits, liées par le champ catégorie.
J'ai un formulaire avec une liste déroulante des catégories.
J'ai un sous-formulaire affichant les enregistrements de la table produits.
j'aimerais que lorsque je sélectionne une catégorie dans cette liste déroulante, le sous-formulaire ne m'affiche que les enregistrements de la catégorie sélectionnée dans cette liste.
Comment faire?
Merci de votre aide...

Réponse n° 1 par 3Stone le 21/07/2009 : 14:22
Bonjour,

Si la relation entre les tables est fonctionnelle (cela se vérifie en "feuilletant" dans le formulaire principal: les données du sous-formulaires doivent s'adapter), alors il suffit de créer cette liste avec l'aide de l'assistant.

  • Baser la liste sur la clé primaire (et les champs utilies) de la table catégorie
  • Dans la première fenêtre, choisir l'option 3
Cordialement,
Pierre(3stone)



Réponse n° 2 par belilan le 21/07/2009 : 17:36
Bonjour et merci pour cette réponse rapide.
J'ai essayé comme tu dis, mais alors quand je sélectionne la catégorie dans la liste déroulante, cela change la catégorie de l'enregistrement dans le sous-formulaire.
Or, cette liste déroulante doit me servir à filtrer mon sous formulaire en n'affichant que les enregistrements correspondants à la catégorie que j'ai sélectionné.
Réponse n° 3 par 3Stone le 21/07/2009 : 18:32
Bonjour,

Lorsque, dans le formulaire principal, tu passes d'un enregistrement au suivant (donc d'une catégorie à l'autre), le sous-formulaire change de contenu et affiche bien les produits concernants la catégorie du formulaire principal ?

Si oui, tu liste est mal contruite ou mal placée... car elle doit-être indépendante et située dans le formulaire principal.

Cordialement,
Pierre(3stone)



Réponse n° 4 par belilan le 21/07/2009 : 18:49
en fait non, lorsque je passe d'un enregistrement à l'autre via le sélecteur d'enregistrement, la valeur de la liste déroulante change, mais le sous formulaire ne bouge pas.

Il y a un stuut quelque part!
Réponse n° 5 par 3Stone le 21/07/2009 : 19:27
Tu as donc erreurs...

D'abord ta relation entre les tables:
  • Dans la table "catégories", il te faut un champ "NoCategorie" comme clé primaire
  • La table Produits doit avoir un champ NoCategorie comme clé externe liée à NoCategorie de la table Catégories.
  • Appliquer à cette relation, l'intégrité référencielle et la mise à jour en cascade.

Pour la liste, comme déjà dit, elle doit être indépendante - donc ne pas posséder de "Source controle", mais uniquement une "Origine source" et un "Contenu" (voir les propriétés de la liste).

Cordialement,
Pierre(3stone)

Réponse n° 6 par belilan le 21/07/2009 : 19:40
J'ai fait cela, à part que dans mes tables, les champs s'appellent catégorie, et pas NoCatégorie. Je suppose que ce n'est pas important. Mon champ catégorie de la table catégorie est de type texte, clé primaire, et lié au champ catégorie de la table produits (table produits a une clé primaire numérique auto).
J'ai mis l'intégrité et la mise à jour en cascade, et laissé la jointure par défaut (ligne N°1).

J'ai retiré la source contrôle de la liste, et maintenant, quand je change la valeur, elle ne change plus dans mon sous formulaire.

Mais je ne vois toujours pas comment afficher les enregistrements dont j'ai sélectionné la valeur dans la list.
Réponse n° 7 par 3Stone le 21/07/2009 : 19:54
Place ta base ou un extrait suffisant de ta base sur Cjoint.com que je regarde...

Pierre(3stone)


Réponse n° 8 par belilan le 21/07/2009 : 20:02
voici le lien http://cjoint.com/?hvuaZSRgG3
il s'agit du formulaire "frm suppression".
Merci.

DébutPrécédent [ 1 2 3 ] SuivantFin

[ Retour à la liste des sujets ]

Recherche



Préférences

Se reconnecter
---

Votre nom (ou pseudo) :

Votre code secret


 Nombre de membres 1 membre


Connectés :

( personne )

Haut