Je ne comprends pas pourquoi ma requête ne s'exécute pas.
Quan je lance ce code il passe ma requête sans l'exécuter et sans me mettre d'erreur. Il ne me demande jamais le paramêtre value de ma semaine.
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
Dim db As DAO.Database, qry As QueryDef
    Dim rs As DAO.Recordset
    Dim mail, erreur As String
    Dim entreprise As String
 
 
 
    Set db = CurrentDb
    'On Error Resume Next
    Set qry = db.QueryDefs("ReqEmail")
    If Err.Number <> 0 Then
        Set qry = db.CreateQueryDef("ReqEmail")
        Err.Clear
    End If
 
    'On Error GoTo Err_buEnvoiMail_Click
    Set rs = CurrentDb.OpenRecordset("SELECT [MaisonTest].Entreprise, [MaisonTest].[EMail] FROM [MaisonTest];")
    While Not rs.EOF
 
        qry.SQL = "PARAMETERS semaine Value;" & _
        " SELECT Regie_base2.Societe, [Rqt_base_Analyse croisée].semaine,[MaisonTest].N° AS Code," & _
        " [MaisonTest].Entreprise, Last(Regie_base2.Branche) AS DernierDeBranche, Last([MaisonTest].Nom) AS Reference, Last([MaisonTest].Rue) AS DernierDeRue," & _
        " Last([MaisonTest].Npa) AS DernierDeNpa, Last([MaisonTest].Ville) AS DernierDeVille, Last([MaisonTest].Fax) AS DernierDeFax, Last(Regie_base2.Qualite) AS DernierDeQualite, " & _
        " Last(Regie_horaire.Matricule) AS DernierDeMatricule, Last(Regie_base2.Nom) AS DernierDeNom, Last(Regie_base2.Prenom) AS DernierDePrenom, Last(Regie_base2.Centre_cout) AS DernierDeCentre_cout," & _
        " Last([Rqt_base_Analyse croisée].[Total de Heures]) AS [DernierDeTotal de Heures], Last(Regie_base2.Tarif) AS DernierDeTarif, Last(([Total de Heures]*[Tarif])) AS Montant, [Rqt_base_Analyse croisée].lundi," & _
        " [Rqt_base_Analyse croisée].mardi, [Rqt_base_Analyse croisée].mercredi, [Rqt_base_Analyse croisée].jeudi, [Rqt_base_Analyse croisée].vendredi" & _
        " FROM ([Rqt_base_Analyse croisée] LEFT JOIN Regie_horaire ON [Rqt_base_Analyse croisée].Matricule = Regie_horaire.Matricule) LEFT JOIN (Regie_base2 LEFT JOIN [MaisonTest] ON Regie_base2.Code = [MaisonTest].N°)" & _
        " ON [Rqt_base_Analyse croisée].Matricule = Regie_base2.Matricule" & _
        " WHERE [MaisonTest].Entreprise = " & Chr(34) & rs("Entreprise") & Chr(34) & _
        " GROUP BY Regie_base2.Societe, [Rqt_base_Analyse croisée].semaine, [MaisonTest].N°, [MaisonTest].Entreprise, [Rqt_base_Analyse croisée].lundi, [Rqt_base_Analyse croisée].mardi, [Rqt_base_Analyse croisée].mercredi, [Rqt_base_Analyse croisée].jeudi, [Rqt_base_Analyse croisée].vendredi" & _
        " HAVING (((Regie_base2.Societe) = 'cimo') And (([Rqt_base_Analyse croisée].semaine) = [semaine]))" & _
        " ORDER BY [MaisonTest].Entreprise DESC;"
 
        entreprise = rs("Entreprise")
        mail = rs("EMail")
 
        If (mail <> "") Then
        DoCmd.SendObject acReport, "etEmail", acFormatSNP, mail
        Else
        erreur = MsgBox("Pour cette entreprise il n'y a pas d'email valide.", vbOKOnly, "Email invalide")
        End If
 
 
 
        rs.MoveNext
    Wend
rst.Close
Merci d'avance