Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment recuperer les valeurs d'un formulaire dans une requete parametrée

Aucune réponse
Avatar
misan
Bonjour,
Je travaille avec ACCESS 2007.
J'ai créé un formulaire qui me permet de selectionner deux annees grace a deux listes deroulantes et un ou plusieurs mois de l'annee grace a des cases a cocher.
J'ai un bouton qui doit déclancher une requete parametréé qui doit récuperer tout ces parametres...et ca ne fonctionne pas.
La requete fonctionne bien hors formulaire (elle me demande bien de saisir les deux annees et les mois que je desire en numerique) mais il doit manquer des instructions dans le code vba qui empechent le fonctionnement de la requete quand je veux l'utiliser avec le formulaire (je n'arrive pas a trouiver d'informations concordantes ). Ce formulaire doit permetre a un utilisateur de saisir facilement les donnees pour editer des statistiques comparatives sur une période donnee.
Un petit conseil serait le bien venu car je butte sur ce probleme depuis plusieurs jours.

voici mon code VBA
Private Sub OK_Click()

Dim rst As DAO.Recordset
Dim db As DAO.Database
Dim QryTest As DAO.QueryDef


Dim rAnnee1 As Single
Dim rAnnee2 As Single
Dim rMois1 As Single
Dim rMois2 As Single
Dim rMois3 As Single
Dim rMois4 As Single
Dim rMois5 As Single
Dim rMois6 As Single
Dim rMois7 As Single
Dim rMois8 As Single
Dim rMois9 As Single
Dim rMois10 As Single
Dim rMois11 As Single
Dim rMois12 As Single




If Form_le_denier_en_montant.case_mois1 = True Then
rMois1 = 1
Else: rMois1 = 0
End If
If Form_le_denier_en_montant.case_mois2 = True Then
rMois2 = 2
Else: rMois2 = 0
End If
If Form_le_denier_en_montant.case_mois3 = True Then
rMois3 = 3
Else: rMois3 = 0
End If
If Form_le_denier_en_montant.case_mois4 = True Then
rMois4 = 4
Else: rMois4 = 0
End If
If Form_le_denier_en_montant.case_mois5 = True Then
rMois5 = 5
Else: rMois5 = 0
End If
If Form_le_denier_en_montant.case_mois6 = True Then
rMois6 = 6
Else: rMois6 = 0
End If
If Form_le_denier_en_montant.case_mois7 = True Then
rMois7 = 7
Else: rMois7 = 0
End If
If Form_le_denier_en_montant.case_mois8 = True Then
rMois8 = 8
Else: rrMois8 = 0
End If
If Form_le_denier_en_montant.case_mois9 = True Then
rMois9 = 9
Else: rMois9r = 0
End If
If Form_le_denier_en_montant.case_mois10 = True Then
rMois10 = 10
Else: rMois10 = 0
End If
If Form_le_denier_en_montant.case_mois11 = True Then
rMois11 = 11
Else: rMois11 = 0
End If
If Form_le_denier_en_montant.case_mois12 = True Then
rMois12 = 12
Else: rMois12 = 0
End If

Set qdf = CurrentDb.QueryDefs("le_denier_en_montant_entre_deux_date")
With qdf
.Parameters("Annee1") = rAnnee1
.Parameters("Annee2") = rAnnee2
.Parameters("Mois1") = rMois1
.Parameters("Mois2") = rMois2
.Parameters("Mois3") = rMois3
.Parameters("Mois4") = rMois4
.Parameters("Mois5") = rMois5
.Parameters("Mois6") = rMois6
.Parameters("Mois7") = rMois7
.Parameters("Mois8") = rMois8
.Parameters("Mois9") = rMois9
.Parameters("Mois10") = rMois10
.Parameters("Mois11") = rMois11
.Parameters("Mois12") = rMois12

.Execute
End With

On Error GoTo err

'initialise un objet représentant la base de données
Set db = CurrentDb
'tente d'accéder à la requête
Set QryTest = db.QueryDefs(strNomRequete)
TesteExistenceRequete = True
err:
End Sub

Et voici ma requete

SELECT pole, nom_paroisse, Sum(identifies) AS montant_identifies, Sum(anonymes) AS montant_anonymes, Sum(identifies)+Sum(anonymes) AS Total, Year(date_de_versement) AS annee
FROM dbo_le_denier_en_montant
WHERE (((Year([date_de_versement])) In ([Annee1],[Annee2])) AND ((Month([date_de_versement])) In ([Mois1],[Mois2],[Mois3],[Mois4],[Mois5],[Mois6],[Mois7],[Mois8],[Mois9],[Mois10],[Mois11],[Mois12])))
GROUP BY pole, nom_paroisse, Year(date_de_versement)
ORDER BY Year(date_de_versement);

Réponses