Bonjour,
dans un formulaire principal qui est une base de produits (table T_Produit), j'ai inclus un sous-formulaire lié à une autre table contenant les déclinaisons couleur et d'autres données de ce produit (table T_coloris) : exemple le produit pantalon décliné en noir, blanc, bleu (on a une liaison 1 vers plusieurs). La table T_coloris ne contient pas que la couleur mais aussi le prix et d'autres données.
J'aimerais filtrer via un bouton les produits dont une des couleurs n'aurait pas de prix.
Voici comment j'ai procédé :
Dans le sous-formulaire j'ai ajouté un champs calculé Min_Prix avec pour formule :
Min(EstNull([Coloris_Prix]))
donc j'obtient -1 si un des prix est à 0
et sur le formulaire principal un autre champs calculé VerifManquePrix avec pour formule
VraiFaux([T_Coloris_sous-formulaire].Formulaire!Min_Prix=-1;"X";"O")
Quand je vais sur un enregistrement qui contient au moins un des coloris sans prix, le champs calculé devient bien X donc la formule de calcul fonctionne très bien.
Sur le formulaire principal, j'ai ajouté un bouton faisant un filtre via une macro en remplissant une chaine de caractère f puis en faisant :
1 2
| Me.filter = f
Me.filterOn = true |
(je remplis cette chaine avec d'autres champs filtrés et celà fonctionne)
Le problème c'est qu'il semble que cette méthode de filtre ne fonctionne pas avec le champs calculé; quand je fais :
1 2 3 4 5 6
| ' filtrer présence de prix ou non (Filtre_Prix est une case à cocher si on veut trier les prix vides)
If Me.Filtre_Prix Then
' si f n'est pas vide, on ajoute l'instruction AND, sinon on débute le filtre
If f <> "" Then f = f & " AND "
f = f & "VerifManquePrix=""X"""
End If |
Au moment de l'exécution de Me.filterOn=true, une fenêtre s'ouvre me demandant la valeur de VerifManquePrix !!!
J'ai essayé aussi
f = f & "[VerifManquePrix]=""X"""
mais ca ne fonctionne pas non plus. ![:evilred:](https://www.developpez.net/forums/images/smilies/evilred.gif)
Mes questions sont :
- Comment peut-on filtrer les éléments en fonction de la valeur d'un champs calculé ?????
- ou alors comment filtrer les éléments d'un formulaire en fonction du contenu d'un sous-formulaire ????
Je suis sous Access 2003.
Merci pour votre aide,
Sébastien
Partager