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

Le
misan Hors ligne
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 parametreset 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);
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Publicité
Poster une réponse
Anonyme