Bonjour à tous,
Je souhaite créer un module de classe pour gérer certains événements des checkboxs d'un de mes formulaires. Pour ce faire j'ai extrapolé un module de classe qui marche parfaitement bien sur VBA excel. Malheureusement je n'arrive pas à le faire fonctionner sous Access, le logiciel ne relève pas d'erreurs en exécutant le code mais c'est pas pour autant que ça marche: les événements ne sont toujours pas gérés.
Voici ci dessous le code du module de classe "ControleAccessEvents"
Voici le module qui assigne à la classe ControleAccessEvents les checkboxs de mon formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Option Compare Database Option Explicit Public WithEvents mCheckboxes As Access.CheckBox Public WithEvents mLabelGroup As Access.Label Public WithEvents mTextBoxGroup As Access.TextBox Public WithEvents mButtonGroup As Access.CommandButton Private Sub mButtonGroup_Click() 'MsgBox (" has been pressed") End Sub Private Sub mLabelGroup_Click() 'MsgBox mLabelGroup.Caption & " backcolour is " & mLabelGroup.BackColor End Sub Private Sub mTextBoxGroup_Click() End Sub Private Sub mTextboxGroup_Change() 'MsgBox mTextBoxGroup.Name & " value is is " & mTextBoxGroup.Text End Sub Private Sub mCheckboxes_Click() 'MsgBox ("coucou") End Sub
Je n'arrive pas à comprendre pourquoi ça ne marche pas. Tous les conseils sont les bienvenus !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Option Compare Database Option Explicit Dim mcolEvents As Collection Sub Grp_ctrlAccess() 'pour rajouter tous les contrôles à la classe ControleAccessEvents Dim cCBEvents As ControleAccessEvents Dim cBtnEvents As ControleAccessEvents Dim cLblEvents As ControleAccessEvents Dim cTBEvents As ControleAccessEvents Dim shp As Access.Control Set mcolEvents = New Collection For Each shp In Form_frmEvolutionAnalyses.Controls If TypeOf shp Is Access.CheckBox Then Set cCBEvents = New ControleAccessEvents Set cCBEvents.mCheckboxes = shp mcolEvents.Add cCBEvents ElseIf TypeOf shp Is Access.CommandButton Then Set cBtnEvents = New ControleAccessEvents Set cBtnEvents.mButtonGroup = shp mcolEvents.Add cBtnEvents ElseIf TypeOf shp Is Access.Label Then Set cLblEvents = New ControleAccessEvents Set cLblEvents.mLabelGroup = shp mcolEvents.Add cLblEvents ElseIf TypeOf shp Is Access.TextBox Then Set cTBEvents = New ControleAccessEvents Set cTBEvents.mTextBoxGroup = shp mcolEvents.Add cTBEvents End If Next
Merci d'avance
Partager