Bonjour tous le modne,
je voudrais attribuer la vlauer d'un recordset à une variable.

Dans mons cas le recordset voulu correspond au resultat de count d'une requête sql.

Mais si il n'y à aucun enregistrement, cela plante.

J'ai essayer avec On error goto mais sa ne done rien.

Je vous join le code ci dessou :

ne chercher pas d'erreur dans le reste du code car celui ci fonctionquand ce cas particulier n'arrive pas.
L'erreur est bien au niveau du test

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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 
 
Private Sub Emplacement_AfterUpdate()
 
Dim db As Database
Dim rq As Recordset
Dim rq1 As Recordset
Dim resultat As Integer
Dim Nombre_A As Integer
Dim Chrono As Long
Dim datev As Date
Set db = CurrentDb()
 
 
datev = Forms.Formulaire_Principal.Dejeuner.Form.Date.Value
Chrono = Forms.Formulaire_Principal.Dejeuner.Form.Chrono.Value
 
Set rq = db.OpenRecordset("SELECT Date, Chrono,Count(ID_Employe) FROM CRP WHERE Chrono = " & Chrono & "And Date = #" & datev & "# GROUP BY Date, Chrono")
Set rq1 = db.OpenRecordset("SELECT Date, Chrono,Count(ID_Employe) FROM Accompagnement WHERE Chrono = " & Chrono & "And Date = #" & datev & "# GROUP BY Date, Chrono")
 
 
 
On Error GoTo sierreurrq1
    Nombre_A = rq1(2)
 
rq:
On Error GoTo sierreurrq
    resultat = rq(2)
 
 
calcul:
 
     If Forms.Formulaire_Principal.Rang.Value = "Rang 1" Or Forms.Formulaire_Principal.Rang.Value = "Rang A" Then
       If Forms.Formulaire_Principal.Dejeuner.Form.Emplacement.Value = "RMH" Then
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_B.Value = Forms.Formulaire_Principal.Nombre.Form.Nombre_personne.Value + Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Invite_La_hague.Value + Nombre_A
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_2.Value = 0
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_1.Value = 0
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_A.Value = 0
       End If
 
       If Forms.Formulaire_Principal.Dejeuner.Form.Emplacement.Value = "Restaurant 2" Then
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_2.Value = Forms.Formulaire_Principal.Nombre.Form.Nombre_personne.Value + Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Invite_La_hague.Value + Nombre_A
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_B.Value = 0
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_1.Value = 0
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_A.Value = 0
       End If
 
       If Forms.Formulaire_Principal.Dejeuner.Form.Chauffeur.Value = "Oui" Then
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Plat_Jour.Value = 1 + resultat
       Else
          Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Plat_Jour.Value = resultat
       End If
 
    ElseIf Forms.Formulaire_Principal.Rang.Value = "Rang 2" Or Forms.Formulaire_Principal.Rang.Value = "Rang 3" Then
          If Forms.Formulaire_Principal.Dejeuner.Form.Emplacement.Value = "RMH" Then
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_A.Value = Forms.Formulaire_Principal.Nombre.Form.Nombre_personne.Value + Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Invite_La_hague.Value + resultat + Nombre_A
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_1.Value = 0
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_B.Value = 0
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_2.Value = 0
          End If
 
          If Forms.Formulaire_Principal.Dejeuner.Form.Emplacement.Value = "Restaurant 2" Then
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_1.Value = Forms.Formulaire_Principal.Nombre.Form.Nombre_personne.Value + Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Invite_La_hague.Value + resultat + Nombre_A
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_A.Value = 0
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_B.Value = 0
                Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Menu_2.Value = 0
          End If
 
          If Forms.Formulaire_Principal.Dejeuner.Form.Chauffeur.Value = "Oui" Then
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Plat_Jour.Value = 1
          Else
            Forms.Formulaire_Principal.Dejeuner.Form.Nombre_Plat_Jour.Value = 0
       End If
 
    End If
 
    Exit Sub
 
sierreurrq1:
    Nombre_A = 0
    GoTo rq
 
sierreurrq:
    resultat = 0
    GoTo calcul
 
 
End Sub
J'attribue donc à resultat et à Nombre_A la valeur du recordset.
Si aucun enregistrement n'eest compté, je voudrais que la valeur de ces variables sois à 0.

merci d'avance