|
|
|
|
Pas besoin de code VB pour faire ça.
Il faut que ton sous-formulaire soit lié au formulaire principal (la clé primaire du formulaire principal étant présente ss forme de clé externe ds le ssformulaire) En principe Access remplit automatiquement les champs père et fils (si les noms sont identiques en tous cas et si les données sont compatible (N°auto ou numérique) A partir de là lorsque tu changes d'enregistrement dans le formulaire principal le ssformulaire est automatiquement mis à jour. |
J'ai bien noté zenon et ça marche comme tu dis, ça s'est quand l'utilisateur recherche une valeur du formulaire, ça met automatiquement à jour le sous formulaire. Mais dans l'autre sens, c-a-d, l'utilisateur sélectionne (ou tape) dans la zone de liste une valeur qui représente le critère de recherche. Ce critère s'applique à un champ du sous formulaire qui va être filtré (le formulaire sera automatiquement mis à jour par le biais des relations).
Y a-t-il une solution à mon pb ? Merci. JEYBY |
Je ne suis pas sûr que ce soit très logique ni possible pour des raisons de structure.
En principe un enregistrement du formulaire renvoie à n enregistrements du ssformulaire. Tu ne devrais donc pas pouvoir sélectionner un enregistrement unique du formulaire en effectuant un tri sur le sous-formulaire à moins d'utiliser la clé externe mais alors inutile de passer par le sous-formulaire. Une solution serait de récupérer la clé externe en triant les données de la table ssjacente au ss formulaire puis de filtrer le formulaire. Il y a moyen de la faire "proprement" avec les recorsets mais je n'en suis pas capable... Je triche en créant un formulaire qui reste masqué sur lequel j'applique le filter: Sur clic ds la liste de choix: DoCmd.OpenForm "NomDuForm",,"[CritèreX]=ListeDeChoix" DoCmd.OpenForm "frm_p",,"CléPrimaire=CLéExterneDuFormPrécédent" |
Résultats pour Pb filtre sur formulaire access
Résultats pour Pb filtre sur formulaire access
Résultats pour Pb filtre sur formulaire access