OVH Cloud OVH Cloud

Encore une Date

1 réponse
Avatar
Guy BRUSSON
Bonjour à tous et bonne Année

Je ne suis pas doué mais ???

Dans un formulaire recherche mon deuxieme filtre ne fonctinne pas

Champ date [DateLigne] sous forme jj/mm/aaaaa

Je veus extraire soit l'année en cour ou -1 ou -2 etc..
Private Sub btnOK_Click()
Dim strFiltre As String
Dim strStatut As String
Dim avarMotsClefs As Variant
Dim varMotClef As Variant
Dim strAnnée As String


' Filtre sur l 'Année

Select Case Me.OpgAnnées
Case 8: strAnnée = Year([DateLigne])
Case 9: strAnnée = Year([DateLigne] - 1)
Case 10: strAnnée = Year([DateLigne] - 2)
Case 11: strAnnée = Year([DateLigne] - 3)
Case 12: strAnnée = Year([DateLigne] - 4)
Case Else: strAnnée = ""
End Select
If strAnnée <> "" Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strAnnée & "([DateLigne] LIKE '" & strAnnée & "*')"
End If

Et la suite
--
Amicalement et merci

1 réponse

Avatar
Eric
Bonjour Guy,

Un début de réponse :
- strAnnée devrait être plutot un Integer car Year() renvoie un Integer,
donc Dim intAnnée as Integer
- Dans ton Select Case,
j'éliminerai le Case Else ;
Les Case 9,10,11,12 erreur de calcul :
Pour 9 : intAnnée = Year([DateLigne]) - 1 (adapter pour les autres)
- Faire le test avec If intAnnée > 0 Then au lieu de If strAnnée <> "" Then
- Pour le test sur intAnnée et strFiltre
En admettant que tu filtres sur un champ *avant* le code que tu donnes
et sur l'année avec ce code, ça devient:
strFiltre = strFiltre & "Year([DateLigne])=" & intAnnée
au lieu de :
strFiltre = strAnnée & "([DateLigne] LIKE '" & strAnnée & "*')"

sous réserve de ne pas m'être trompé dans l'interprétation de ton code.

Bonjour à tous et bonne Année

Je ne suis pas doué mais ???

Dans un formulaire recherche mon deuxieme filtre ne fonctinne pas

Champ date [DateLigne] sous forme jj/mm/aaaaa

Je veus extraire soit l'année en cour ou -1 ou -2 etc..
Private Sub btnOK_Click()
Dim strFiltre As String
Dim strStatut As String
Dim avarMotsClefs As Variant
Dim varMotClef As Variant
Dim strAnnée As String


' Filtre sur l 'Année

Select Case Me.OpgAnnées
Case 8: strAnnée = Year([DateLigne])
Case 9: strAnnée = Year([DateLigne] - 1)
Case 10: strAnnée = Year([DateLigne] - 2)
Case 11: strAnnée = Year([DateLigne] - 3)
Case 12: strAnnée = Year([DateLigne] - 4)
Case Else: strAnnée = ""
End Select
If strAnnée <> "" Then
If strFiltre <> "" Then strFiltre = strFiltre & " AND "
strFiltre = strAnnée & "([DateLigne] LIKE '" & strAnnée & "*')"
End If

Et la suite


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr