Bonsoir,
Pour la date complète
Avec un contrôle zone de texte nommé txtDate.
Masque de saisie : 00/00/0000;0
Le ;0 c'est pour que les caractères / soient conservés.
1 2 3 4 5 6
| ' Contrôle txtDate
strVal = Nz(Me.txtDate, "")
If strVal <> "" And IsDate(strVal) Then
If f <> "" Then f = f & " AND "
f = f & "[Date]=#" & Format(CDate(strVal), "mm\/dd\/yyyy") & "#"
End If |
On récupère le texte de la zone de texte dans la variable strVal.
Si la zone de texte est vide, Null est remplacé par une chaîne vide grâce à Nz.
On vérifie que la variable strVal ne contient pas une chaîne vide et que sont contenu peut être convertit en type Date.
En SQL un critère sur une date s'écrit
champDate = #mois/jours/année#
C'est pour cette raison que je convertit strVal en date avec la fonction CDate, puis que je reconvertis en texte avec la fonction Format.
Critère sur l'année
Contenu de la zone de liste modifiable Rannee
SELECT CStr(Year([Date])) AS Année FROM Total GROUP BY Year([Date]) ORDER BY Year([Date]);
J'ai ajouté CStr(..) pour convertir en texte.
Sinon la valeur de la colonne de l'instruction SELECT est numérique et la valeur par défaut (- - Choisir - -) de type texte.
D'où les ##########
Maintenant le code à mettre pour filtrer sur l'année :
1 2 3 4 5 6
| ' Contrôle Rannee
strVal = Nz(Me.RAnnee, "")
If strVal <> "" And strVal <> "- - Choisir - -" Then
If f <> "" Then f = f & " AND "
f = f & "Year([Date])=" & strVal
End If |
Critère sur le mois
Contenu de la zone de liste modifiable Rmois
SELECT Format([Date],"mmmm") AS Mois, Month([Date]) AS NumMois FROM Total GROUP BY Format([Date],"mmmm"), Month([Date]) ORDER BY Month([Date]);
Nbre de colonnes = 2
Largeurs colonnes : 2,547cm;0cm
Colonne liée = 1
Limiter à la liste = Non
Valeur par défaut = "- - Choisir - -"
1 2 3 4 5 6
| ' Contrôle Rmois
strVal = Nz(Me.Rmois.Column(1), "")
If strVal <> "" And strVal <> "- - Choisir - -" Then
If f <> "" Then f = f & " AND "
f = f & "Month([Date])=" & strVal
End If |
Me.Rmois.Column(1) correspond à la deuxième colonne, Month([Date]).
A+
Partager