Problème attribution valeur recordset variable
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:
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