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

IHM Discussion :

[A-07] Filtre sur date en VBA


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [A-07] Filtre sur date en VBA
    Bonjour,

    Je désire réaliser un filtre entre deux dates tapées dans deux zones de texte.
    Voici les commandes utilisées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    me.filter="datenaiss between forms!f-membres!zdate1 and forms!f-membres!zdate2"
    me.filteron=true
    où datenaiss est un champ dans le formulaire qui conteint des dates de naissance, zdate1 et zdate2 sont les 2 zones de texte dans lesquelles je tape les 2 dates.

    La procédure événementielle est activée grâce à un clic sur un bouton de commande.

    La première fois que j'exécute la procédure ça fonctionne bien, les autres fois, lorsque je modifie les dates dans les zones de texte, il me donne toulours les résultats des anciennes valeurs.

    Je précise que cela fonctionnait très bien avec access2003.

    Pouvez-vous m'aider ?

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut
    Bonjour,

    et comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.filter = "DateNais between #" & forms....date1 & "# and #" & forms....date2 & "#"
    Cordialement,

  3. #3
    Membre confirmé Avatar de ypicot
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 412
    Points : 579
    Points
    579
    Par défaut
    Loufab, tu as oublié le format :
    Il faut faire
    "DateNais between #" & Format(forms....date1, "MM/DD/YYYY") & "# and ...

    Loufab (et accessoirement Sabel), jette un coup d'oeil sur la FAQ pour plus de détail.

    Aïe... non.. pas sur la tête... aïe...

    Yvan

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 017
    Points : 24 547
    Points
    24 547
    Par défaut

    Salut Yvan !

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    merci pour vos réponses. La solution que j'ai trouvé est de taper les date au format mois jour année et de faire des tests de validité.

    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
    Private Sub entre2dates_Click()
     
    'Vérifier que la première partie de la date tapée est un mois valide
    If Val(Left(Forms![f-commandes]![zdate1], 2)) > 12 Or Val(Left(Forms![f-commandes]![zdate1], 2)) < 1 Then
        MsgBox "date de début incorrecte"
       Else
       'Vérifier que les valeurs tapées dans les cases sont des dates
       If Not IsDate(CDate(Forms![f-commandes]![zdate2])) And Not IsDate(CDate(Forms![f-commandes]![zdate2])) Then
        MsgBox "date de fin incorrecte"
       Else
        'Filtrer entre 2 dates
        filtre = "[datecommande] between #" & CDate(Forms![f-commandes]![zdate1]) & "# and #" & CDate(Forms![f-commandes]![zdate2]) & "#"
        Me.Filter = filtre
        Me.FilterOn = True
    End If
    End If
    End Sub
    Merci pour votre participation

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

Discussions similaires

  1. [AC-2007] Filtre sur Dates dans VBA
    Par Corinne4775 dans le forum Access
    Réponses: 4
    Dernier message: 07/09/2011, 10h16
  2. [Débutant] Critères de requete sur dates - Programmation VBA
    Par Sofie109 dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 11/01/2007, 15h35
  3. [débutant] recherche sur dates en VBA
    Par tojiji dans le forum Access
    Réponses: 4
    Dernier message: 10/07/2006, 11h51
  4. Problème de filtre sur date avec ADOQuery
    Par lingli dans le forum Bases de données
    Réponses: 12
    Dernier message: 30/04/2006, 15h40
  5. Filtre sur date
    Par MagicManu dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/08/2005, 00h05

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