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
J'attribue donc à resultat et à Nombre_A la valeur du recordset.
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
Si aucun enregistrement n'eest compté, je voudrais que la valeur de ces variables sois à 0.
merci d'avance
Partager