Bonjour à tous

Dans un formulaire de saisie a été placé le code suivant en beforeupdate de façon à controler la bonne saisie des données obligatoires suivant choix.
Ce formulaire contient un champ multivalué qui si ne contenant pas de "participants" devrait alerter l'utilisateur...

Lorsque le contrôle s'effectue dans le select case cela paraît marcher mais après avoir sélectionné un participant dans le dit champ il continue à indiquer que la valeur est requise alors qu'il y a au moins une valeur de sélectionnée suite à la correction...

Comment obtenir un comptage correct après mise à jour de ce champ alors que je suis encore dans l'événement before update du formulaire ?

Ni me.requery, ni me.refresh ne veulent fonctionner et encore moins un requery sur le champ multi-valué ...

Cela est-il dû au fait qu'un autre événement est entrain de se passer dans le formulaire ?

Merci d'avance pour vos réponses

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Private Sub Form_BeforeUpdate(Cancel As Integer)
 
Dim nbParticipants As Long
'Dim rs As DAO.Recordset
'
'Set rs = CurrentDb.OpenRecordset("select * from tblevenements where idevt=" & Me.IDEvt)
 
Debug.Print nbParticipants
 
    Select Case Me.ChoixEVT
 
        Case 1 To 4
 
            If IsNull(Me.DateEcheanceEvt) Then
            MsgBox "Vous devez préciser une date pour valider cet événement", vbCritical, "Erreur de saisie"
            Cancel = True
            Exit Sub
            End If
 
            If IsNull(Me.HeureEvt) Then
            MsgBox "Vous devez préciser une heure d'échéance pour valider cet événement", vbCritical, "Erreur de saisie"
            Cancel = True
            Exit Sub
            End If
'
'            nbParticipants = DCount("[Participants].Value", "tblevenements", "idevt=" & Me.IDEvt)
'            If nbParticipants = 0 Then
'            MsgBox "Vous devez préciser au moins un participant pour valider cet événement", vbCritical, "Erreur de saisie"
'            Cancel = True
'            Exit Sub
'            End If
 
            If IsNull(Me.LieuEvt) Then
            MsgBox "Vous devez préciser un lieu pour valider cet événement", vbCritical, "Erreur de saisie"
            Cancel = True
            Exit Sub
            End If
 
            Case 5
 
            If IsNull(Me.DateEcheanceEvt) Then
            MsgBox "Vous devez préciser une date pour valider cet événement", vbCritical, "Erreur de saisie"
            Cancel = True
            Exit Sub
            End If
 
            If IsNull(Me.HeureEvt) Then
            MsgBox "Vous devez préciser une heure d'échéance pour valider cet événement", vbCritical, "Erreur de saisie"
            Cancel = True
            Exit Sub
            End If
 
 
            Case 7 To 9
 
              If IsNull(Me.DateEcheanceEvt) Then
            MsgBox "Vous devez préciser une date pour valider cet événement", vbCritical, "Erreur de saisie"
            Cancel = True
            Exit Sub
            End If
 
            Case 10 To 11
 
               If IsNull(Me.DateEcheanceEvt) Then
            MsgBox "Vous devez préciser une date pour valider cet événement", vbCritical, "Erreur de saisie"
            Cancel = True
            Exit Sub
            End If
 
 
    End Select
 
 
End Sub