bonjour ,
je cherche a filtrer un sous formulaire entre 2 dates
avec 2 zone de texte au format date avec calendrier
rien ne fonctionne pouvez vous m'aider j'ai chercher sur le net
merci pour vos réponse
bonjour ,
je cherche a filtrer un sous formulaire entre 2 dates
avec 2 zone de texte au format date avec calendrier
rien ne fonctionne pouvez vous m'aider j'ai chercher sur le net
merci pour vos réponse
bonsoir,
il faudrait déjà que tu montres le code et donner plus de détail sur ce qui ne fonctionne pas ...rien ne fonctionne pouvez vous m'aider j'ai chercher sur le net
en général, il faut mettre les dates au format US: format([ladate],"mm/dd/yyyy") puisque c'est le format de référence dans VBA
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
oui désolé
je vous met mon petit fichier
merci
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
23
24
25
26
27
28
29
30
31
32
33 Option Compare Database Private Sub Debut_AfterUpdate() Debut_Click End Sub Private Sub Debut_Click() Dim strFiltre As String strFiltre = "" If Not IsNull(Me.Debut) And Me.Debut <> "" And Not IsNull(Me.Fin) And Me.Fin <> "" Then If strFiltre <> "" Then strFiltre = strFiltre & " AND " strFiltre = strFiltre & "[Date Expedition]>= #" & Format(Me.Debut, "mm/dd/yyyy ") & "#" strFiltre = strFiltre & " AND " & "[Date Expedition]<= #" & Format(Me.Fin, "mm/dd/yyyy ") & "#" Else If Not IsNull(Me.RechDateDebut) And Me.RechDateDebut <> "" Then strFiltre = strFiltre & "[Date Expedition]>= #" & Format(Me.Debut, "mm/dd/yyyy ") & "#" Else If Not IsNull(Me.Fin) And Me.RechDateFin <> "" Then strFiltre = strFiltre & "[Date Expedition]<= #" & Format(Me.Fin, "mm/dd/yyyy ") & "#" End If End If End If Me.Filter = strFiltre Me.FilterOn = True End Sub
mais il ce passe rien
merci pour vos reponses
bizarre car le code est faux: vu qu'il manque un End If (il y a 4 If pour 3 End), il devrait y avoir un message d'erreur .... et comme le code n'est pas indenté (décalage tabulaire vers la droite de chaque bloc If), ce n'est pas visible (et pas lisible non plus) du premier coup:mais il ce passe rien
et compte-tenu des If imbriqués, il est difficile de savoir ce qui coince sans l'appli car trop de contrôles sont concernés...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 If Not IsNull(Me.Debut) And Me.Debut <> "" And Not IsNull(Me.Fin) And Me.Fin <> "" Then If strFiltre <> "" Then strFiltre = strFiltre & " AND " strFiltre = strFiltre & "[Date Expedition]>= #" & Format(Me.Debut, "mm/dd/yyyy ") & "#" strFiltre = strFiltre & " AND " & "[Date Expedition]<= #" & Format(Me.Fin, "mm/dd/yyyy ") & "#" Else If Not IsNull(Me.RechDateDebut) And Me.RechDateDebut <> "" Then strFiltre = strFiltre & "[Date Expedition]>= #" & Format(Me.Debut, "mm/dd/yyyy ") & "#" Else If Not IsNull(Me.Fin) And Me.RechDateFin <> "" Then strFiltre = strFiltre & "[Date Expedition]<= #" & Format(Me.Fin, "mm/dd/yyyy ") & "#" End If End If End If ' et le dernier End If ????
Si tu sais l'utiliser, il faudrait utiliser le mode debug en pas à pas pour vérifier le bon déroulement du code ...
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
le probleme c'est que je n'arrive pas a mettre mon fichier en piece jointe
la base dois être compressée (Zip de préférence, éventuellement RAR ou 7Z) et ne pas dépasser une certaine taille (3 Mo, je crois)le probleme c'est que je n'arrive pas a mettre mon fichier en piece jointe
si tu ne sais pas déboguer en mode pas à pas, essaie en lisant le tuto
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
bonjour ,
çà m’énerve je n'arrive pas a trouver la soluce j'ai beau chercher ,
je cherche a afficher un sous formulaire entre 2 dates qui m'affichera les valeurs
Pouvez vous m'aider
merci
bonsoir,
1) tu ne fais pas appel au code filtredebut_AfterUpdate sur l'évènement Après mise à jour (After Update) des 2 dates:
2) tu n'appliques pas le filtre dans la procédure filtredebut_AfterUpdate:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Debut_AfterUpdate() Call filtredebut_AfterUpdate End Sub Private Sub Fin_AfterUpdate() Call filtredebut_AfterUpdate End Sub
3) il y a un espace en trop après les "yyyy" dans le format de la date, du coup, le filtre ne peut pas fonctionner:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Me.cat.Form.Filter = strfiltre Me.cat.Form.FilterOn = True
de plus, il faut utiliser le format US (mois/jour/année):
Code : Sélectionner tout - Visualiser dans une fenêtre à part Format(Me.Fin, "dd/mm/yyyy ")4) tu n'appliques pas la sélection de filtrerecep sur le filtre, tu peux l'ajouter en champs pères/champs fils:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Format(Me.Fin, "mm/dd/yyyy")
5) l'appel de la procédure Raz n'est pas fonctionnelle car les contrôles ont été renommés (debut et fin et anciennement: filtredebut et filtrefin):
6) en cas d'effacement des dates, il faut soit appliquer soit supprimer le filtre complet (les 2 dates sont vides), soit appliquer le filtre sur la date restante (une des 2 dates est renseignée):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub filtredebut_DblClick(Cancel As Integer) RaZ End Sub Private Sub filtrefin_DblClick(Cancel As Integer) RaZ End Sub
ci-joint en retour la base corrigée: exemple 12_up.zip
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Private Sub Fin_DblClick(Cancel As Integer) RaZ If IsNull(Me.Debut) Then Me.cat.Form.FilterOn = False Else filtredebut_AfterUpdate End If End Sub
Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
ah non ? donc devant l'écran c'est la connectique ?
bonjour,
merci beaucoup pour tes conseils
vous êtes un bon
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager