Bonjour à tous,
Je suis face à un problème que je ne comprends absolument pas. Mes recherches sur le forum, dans deux bouquins et dans la FAQ ne m'ont pas aidé non plus, je m'en remets donc à vous :-)
Voilà, j'ai un rapport qui m'affiche plusieurs données (consommation en carburant de véhicules par date). La source du rapport est une requête.
La requête m'affiche toutes les informations voulues (je veux dire par là que ma requête fonctionne), et mon rapport, généré sur base de cette requête fonctionne également parfaitement.
Afin de pouvoir filtrer les données de ce rapport, j'ai crée un mini formulaire avec deux champs : date de début et date de fin => Classique quoi. J'ai donné le format "Short Date" à ces deux champs. Il est également à noter que tous les champs date de ma base de données et de mes autres formulaires sont également de ce type.
Sur ce mini formulaire, j'ai un boutton qui va chercher les valeurs des deux champs date, qui construit la clause where afin de faire le filtre sur les dates, et qui m'ouvre ensuite mon rapport.
Voici la commande du bouton en question :
Tout fonctionne très bien, si ce n'est quand je mets comme valeur dans le champ date début et date fin la valeur du jour d'aujourd'hui. Dans ce cas, le rapport est blanc, alors qu'il existe des enregistrements qui devraient être affichés (j'ai même vérifié en mettant la clause directement dans ma requête).
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 Private Sub cmdOpen_Click() On Error GoTo Err_cmdOpen_Click Dim stDocName As String Dim strWhere As String stDocName = "Consommation_Vehicules" If IsNull(Me.dateDeb) Or IsNull(Me.DateFin) Then DoCmd.OpenReport stDocName, acPreview Else strWhere = "[DateBDC] >=#" & Format(Me.dateDeb, "dd/mm/yy") & _ "# And [DateBDC] <=#" & Format(Me.DateFin, "dd/mm/yy") & "#" DoCmd.OpenReport stDocName, acPreview, , strWhere End If Exit_cmdOpen_Click: Exit Sub Err_cmdOpen_Click: MsgBox Err.Description Resume Exit_cmdOpen_Click End Sub
Pour être plus clair, voici quelques print screen :
Sur ce print screen, vous pouvez voir à gauche mon mini formulaire de filtrage, et à droite mon rapport, qui m'affiche les enregistrements voulus. Notez l'enregistrement du 2/01 (aujourd'hui donc) qui est présent.
La même chose, mais avec un filtre sur un seul jour (01/01/2007). Tout fonctionne également bien.
Enfin, un troisième filtre, sur la date d'aujourd'hui (02/01/2007), et là je n'ai plus aucun enregistrement !!! Or comme vous pouvez voir dans l'image n°1, j'ai bien un enregistrement daté du 02/01/2007).
De plus, si je passe directement par ma reqûete, et que j'applique le même filtre, j'obtiens bien le bon résultat :
J'ai essayé beaucoup de manipulations, mais rien n'a changé.
Auriez-vous une idée du pourquoi de mon problème ?
Merci pour vos réponses
Partager