Bonjour à tou(te)s
Je me permets de faire ce post car je n’ai pas trouvé de réponse sur le forum.
Dans l’une de mes bases Access, j’ai un formulaire [Frm_OP] (rattaché à la table [Offre_de_prix]) dans lequel se trouve un sous-formulaire [Ssfrm_offres] (rattaché à la requête [Qry_offres], qui ne comporte aucun filtre, elle-même rattachée à la table [Tbl_offres]), qui contient une case à cocher [Exclusion] (créée dans la table [Tbl_offres]).
Mon objectif était de trouver le moyen de cocher/décocher la case [Exclusion] de l’intégralité des lignes affichées sur le sous-formulaire. En effectuant des recherches sur Internet, j’ai trouvé la requête VBA suivante :
Option Explicit
Dim MAJCase As String
***
Private Sub cocher_tout_Click()
DoCmd.SetWarnings False
MAJCase = "UPDATE Qry_Offres SET Qry_Offres.Exclusion = True"
DoCmd.RunSQL MAJCase
DoCmd.SetWarnings True
Refresh
End Sub
***
Private Sub decocher_tout_Click()
DoCmd.SetWarnings False
MAJCase = "UPDATE Qry_Offres SET Qry_Offres.Exclusion = false"
DoCmd.RunSQL MAJCase
DoCmd.SetWarnings True
Refresh
End Sub
En soi, ça fonctionne : lorsque je clique sur les boutons « Cocher tout » et « Décocher tout » les cases [Exclusion] sont cochées/décochées. MAIS, elles le sont pour l’intégralité des lignes de ma table [Tbl_offres] et non uniquement celles affichées dans mon sous-formulaire.
J’ai tenté de modifier la requête en intégrant les champs liés en modifiant l’update mais ça ne fonctionne pas (aucune action et aucun message d’erreur):
MAJCase = "UPDATE Qry_Offres, Offre_de_prix SET Qry_Offres.Exclusion = True WHERE ((([qry_offres]![Num_OP]=[Offre_de_prix]![Numéro d'OP]) And ([Qry_Offres]![Client]=[Offre_de_prix]![Client])))"
J’ai également tenté d’ajouter le nom du sous-formulaire pour le « Refresh » (« Me.Ssfrm_OP.Refresh ») mais j’ai le message d’erreur suivant « Erreur de compilation. Membre de méthode ou de données introuvable ».
N’étant pas calée en VBA et novice en SQL, je n’arrive pas à trouver comment régler ce problème.
Auriez-vous une idée du problème ?
Je vous mets un visuel de mon formulaire avec des informations qui, à mon sens, peuvent peut-être aider à la compréhension (car je ne suis pas sûre d'avoir été très claire dans mon post ).
Merci beaucoup et bonne journée à tou(te)s !
Aurore_G
Partager