IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

filtre d'un sousformulaire entre 2 dates


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 32
    Points
    32
    Par défaut filtre d'un sousformulaire entre 2 dates
    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

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    rien ne fonctionne pouvez vous m'aider j'ai chercher sur le net
    il faudrait déjà que tu montres le code et donner plus de détail sur ce qui ne fonctionne pas ...
    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 ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    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

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    mais il ce passe rien
    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:
    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 ????
    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...
    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 ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    le probleme c'est que je n'arrive pas a mettre mon fichier en piece jointe

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    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)

    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 ?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    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
    Fichiers attachés Fichiers attachés

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir,
    1) tu ne fais pas appel au code filtredebut_AfterUpdate sur l'évènement Après mise à jour (After Update) des 2 dates:
    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
    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
    Me.cat.Form.Filter = strfiltre
    Me.cat.Form.FilterOn = True
    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
    Format(Me.Fin, "dd/mm/yyyy ")
    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, "mm/dd/yyyy")
    4) tu n'appliques pas la sélection de filtrerecep sur le filtre, tu peux l'ajouter en champs pères/champs fils:
    Nom : _0.JPG
Affichages : 88
Taille : 24,7 Ko
    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):
    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
    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
    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
    ci-joint en retour la base corrigée: exemple 12_up.zip
    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 ?

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur validation
    Inscrit en
    Février 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur validation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2013
    Messages : 41
    Points : 32
    Points
    32
    Par défaut
    bonjour,

    merci beaucoup pour tes conseils

    vous êtes un bon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] VBA - Prb Filtre TCD entre 2 dates par TextBox
    Par Naru31 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/09/2011, 00h08
  2. [SPS07] Comment faire un filtre entre deux dates ?
    Par Tybo34 dans le forum Développement Sharepoint
    Réponses: 11
    Dernier message: 23/07/2010, 09h42
  3. [BO 5.1.6][Designer] Filtre entre 2 dates
    Par julien2602 dans le forum Designer
    Réponses: 42
    Dernier message: 15/02/2008, 16h19
  4. Creation d'un filtre entre 2 dates
    Par julien2602 dans le forum Designer
    Réponses: 4
    Dernier message: 09/01/2008, 11h05
  5. [ADO Table] Filtre entre deux dates
    Par aliwassem dans le forum Bases de données
    Réponses: 3
    Dernier message: 22/04/2007, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo