Problème Filtre dans sous-formulaire access 2
christianecri
Messages postés
1
Statut
Membre
-
Titeuf44 -
Titeuf44 -
Bonjour,
Je travaille sur Access 2000 sous windows xp pro.
J'ai deux tables,
- une intitulée "résidants" avec "nom et prénom" comme champs
- une intitulée "mouvements" avec "montant", "date de l'opération"... et "annulation" (case à cocher)
Les mouvements représentent des débits et crédits affectés à chaque résidants. Les deux tables sont liés entre elles par le champ "Nom Prénom".
En cas d'erreurs dans la saisie des mouvements, pour des raisons de traçabilité, j'ai souhaité que les lignes ne soient pas supprimées mais que les utilisateurs cochent la case "annulation" pour enlever la ligne des calculs (je filtre ensuite dans les requête pour enlever les opérations annulées).
J'ai donc créé un formulaire avec une liste déroulante basée sur la table "résidants" pour choisir pour quel résidant on veut effectuer l'opération (formulaire2). En dessous, un sous-formulaire (formulaire1) va chercher toutes les lignes concernant ce résidant dans la table "mouvements", il ne reste plus qu'à cocher la case "annulation" de la ligne qu'on veut annuler. (j'ai joins une copie d'écran)
Les utilisateurs me demandent maintenant : y a t'il moyen de verrouiller une ligne annulée pour ne pas que quelqu'un enlève l'annulation. Je ne sais pas comment faire ça, mais je me suis dit qu'il fallait seulement que je filtre les enregistrements dans le sous-formulaire, si les utilisateurs ne voient que les enregistrements non-annulés, ils ne peuvent pas décocher la case annulation.
J'ai donc essayé de faire un filtre à l'ouverture de mon sous-formulaire.
J'ai créé à l'ouverture, dans les évènements, une macro où l'action est "appliquer filtre" et la formule [Mouvements]![Annulation]=Faux
Ce filtre marche quand j'ouvre indépendamment mon sous-formulaire (formulaire 1)tout seul.
Par contre, quand j'ouvre mon formulaire2 où le formulaire1 figure en sous formulaire, là ça m'ouvre une message box avec : "entrer la valeur du paramètre" Mouvements!Annulation
Si je mets "faux" et qu'ensuite j'essaye d'utiliser mon formulaire en choisissant dans ma liste déroulante un résidant, ça me met erreur d'éxécution 3021 aucun enregistrement en cours.
Si je fais débogage ça me met :
Code :
Private Sub Modifiable1_AfterUpdate()
' Rechercher l'enregistrement correspondant au contrôle.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Nom Prénom] = '" & Me![Modifiable1] & "'"
Me.Bookmark = rs.Bookmark
End SubVoilà, je galère, je comprends pas pourquoi ça marche pas, j'ai cherché pendant longtemps sur le net, je trouve rien, je suis donc désespérée, parce que j'ai vraiment besoin de faire marcher ce filtre.
Si quelqu'un veut m'aider, ça serait très gentil.... à prendre en compte : je sais ouvrir le module VBA, mais c'est à peu près tout, je suis nulle en programmation et en macro sous access. Il y a peut être 15 fois plus simple que ce dans quoi je me suis embarquée, si vous avez des idées... communiquez, je suis preneuse de toutes les solutions !!
Merci beaucoup !
Je travaille sur Access 2000 sous windows xp pro.
J'ai deux tables,
- une intitulée "résidants" avec "nom et prénom" comme champs
- une intitulée "mouvements" avec "montant", "date de l'opération"... et "annulation" (case à cocher)
Les mouvements représentent des débits et crédits affectés à chaque résidants. Les deux tables sont liés entre elles par le champ "Nom Prénom".
En cas d'erreurs dans la saisie des mouvements, pour des raisons de traçabilité, j'ai souhaité que les lignes ne soient pas supprimées mais que les utilisateurs cochent la case "annulation" pour enlever la ligne des calculs (je filtre ensuite dans les requête pour enlever les opérations annulées).
J'ai donc créé un formulaire avec une liste déroulante basée sur la table "résidants" pour choisir pour quel résidant on veut effectuer l'opération (formulaire2). En dessous, un sous-formulaire (formulaire1) va chercher toutes les lignes concernant ce résidant dans la table "mouvements", il ne reste plus qu'à cocher la case "annulation" de la ligne qu'on veut annuler. (j'ai joins une copie d'écran)
Les utilisateurs me demandent maintenant : y a t'il moyen de verrouiller une ligne annulée pour ne pas que quelqu'un enlève l'annulation. Je ne sais pas comment faire ça, mais je me suis dit qu'il fallait seulement que je filtre les enregistrements dans le sous-formulaire, si les utilisateurs ne voient que les enregistrements non-annulés, ils ne peuvent pas décocher la case annulation.
J'ai donc essayé de faire un filtre à l'ouverture de mon sous-formulaire.
J'ai créé à l'ouverture, dans les évènements, une macro où l'action est "appliquer filtre" et la formule [Mouvements]![Annulation]=Faux
Ce filtre marche quand j'ouvre indépendamment mon sous-formulaire (formulaire 1)tout seul.
Par contre, quand j'ouvre mon formulaire2 où le formulaire1 figure en sous formulaire, là ça m'ouvre une message box avec : "entrer la valeur du paramètre" Mouvements!Annulation
Si je mets "faux" et qu'ensuite j'essaye d'utiliser mon formulaire en choisissant dans ma liste déroulante un résidant, ça me met erreur d'éxécution 3021 aucun enregistrement en cours.
Si je fais débogage ça me met :
Code :
Private Sub Modifiable1_AfterUpdate()
' Rechercher l'enregistrement correspondant au contrôle.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst "[Nom Prénom] = '" & Me![Modifiable1] & "'"
Me.Bookmark = rs.Bookmark
End SubVoilà, je galère, je comprends pas pourquoi ça marche pas, j'ai cherché pendant longtemps sur le net, je trouve rien, je suis donc désespérée, parce que j'ai vraiment besoin de faire marcher ce filtre.
Si quelqu'un veut m'aider, ça serait très gentil.... à prendre en compte : je sais ouvrir le module VBA, mais c'est à peu près tout, je suis nulle en programmation et en macro sous access. Il y a peut être 15 fois plus simple que ce dans quoi je me suis embarquée, si vous avez des idées... communiquez, je suis preneuse de toutes les solutions !!
Merci beaucoup !
A voir également:
- Problème Filtre dans sous-formulaire access 2
- Whatsapp formulaire opposition - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Supercopier 2 - Télécharger - Gestion de fichiers
- Formulaire de réclamation facebook compte désactivé - Guide
- Filtre whatsapp - Accueil - Messagerie instantanée