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 :

Appliqué filtre instantané sur formulaire. [AC-2010]


Sujet :

IHM

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut Appliqué filtre instantané sur formulaire.
    Bonjour,

    J'ai formulaire avec une zone de texte.
    Celui applique un filtre au formulaire après validation.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub txt_filtre_AfterUpdate()
            If Not IsNull(txt_filtre) Then
            Me.FilterOn = True
            Me.Filter = "[perfume] LIKE '" & txt_filtre & "*'"
        Else
            Me.Filter = "[perfume] LIKE '*'"
        End If
    End Sub
    Cela fonctionne, mais je dois à chaque fois valider par ENTER.
    En insérer ce code dans txt_filtre_Change, le filtre ne s'applique pas toujours ou pas correctement. Est-il possible de résoudre ce problème?



    Merci milles fois,

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut Filtre
    Rifton007,

    Peux tu essayer de mettre me.requery après le end if

    @++

    JimBoLion

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Tout d'abord merci, d'avoir pris la peine de répondre à tout mes post.

    Le Me.requery ne change rien.
    Je pense l'avoir mis avant, mais supprimer par la suite.

    Alors le code dans _change réagit ainsi:
    1. Toujours quand je tape une lettre, je perd le focus sur la zone de texte au profit du 1er enregistrement tabulaire filtré.
    2. La première tentative, le filtre s'applique tout en perdant le focus à chaque lettre.
    3. Ensuite quand je vide la zone de texte, pour essayer un autre filtre, celui-ci s'applique
      seulement après l'avoir effacé à nouveau. En d'autre termes:
      je tape "g", rien ne se passe; j'efface "g", il m'applique les filtre pour "g"


    Peu-être qu'un filtre instantané via _change est impossible à réalisé ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour récupérer une valeur sur l'évènement Change, il faut utiliser la propriété .text et non .value (qui est la propriété par défaut).

    Philippe

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Oui, mais quand je met .text j'obient une erreur:

    erreur d'exécution 2185 - impossible de faire référence à une propriété ou de la définir pour un controle si ce dernier n'est pas activé.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Il faut l'utiliser sur l'évènement Change et non After_Update.

    Philippe

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Oui c'est ce que j'essaie de faire.

    Alors le code dans _change réagit ainsi:

    1. Toujours quand je tape une lettre, je perd le focus sur la zone de texte au profit du 1er enregistrement tabulaire filtré.
    2. La première tentative, le filtre s'applique tout en perdant le focus à chaque lettre.
    3. Ensuite quand je vide la zone de texte, pour essayer un autre filtre, celui-ci s'applique
      seulement après l'avoir effacé à nouveau. En d'autre termes:
      je tape "g", rien ne se passe; j'efface "g", il m'applique les filtre pour "g"

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Alors je suis arrivé à un résultat presque concluant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        If Len(txt_filtre.Text) > 0 Then
            'filtreString = txt_filtre
            perfume_Étiquette.Caption = txt_filtre.Text
            Me.FilterOn = True
            Me.Filter = "[perfume] LIKE '*" & txt_filtre.Text & "*'"
            txt_filtre.SelStart = Len(txt_filtre.Text)
        Else
            perfume_Étiquette.Caption = "vide"
            Me.FilterOn = False
            txt_filtre.SetFocus
        End If
    Cela fonctionne correctement, jusqu'à ce que aucun enregistrement ne correspond au filtre tapé. A ce moment là j'obtient comme toujours l'erreur pour la ligne 7 ou la 2.

    erreur d'exécution 2185 - impossible de faire référence à une propriété ou de la définir pour un controle si ce dernier n'est pas activé.
    Merci à vous pour votre aide encore précieuse.

    Aussi au passage si quelqu'un pouvais m'expliquer le textbox en vba.
    Car cette erreur 2185 ma rendu fou et folle en même temps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    text1 = "string"
    text1.text = "string"
    text1.controleSource= "string"
    Je jongle avec les trois en espérant que ça marche, une vrai loterie.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Points : 198
    Points
    198
    Par défaut
    Le code ci-dessus pour un filtre instantané est fonctionnel.

    erreur d'exécution 2185 - impossible de faire référence à une propriété ou de la définir pour un controle si ce dernier n'est pas activé.
    Pour ce qui est de cette erreur, j'ai trouve cela.
    Mon formulaire avait comme propriété "Ajout autorisé=NON"
    Cela provoque l'erreur, il suffit donc de le mettre sur oui.

    http://bytes.com/topic/access/answer...without-record

  10. #10
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 894
    Points : 1 056
    Points
    1 056
    Par défaut
    un petit "résolu" ne fait pas de mal
    merci
    .

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

Discussions similaires

  1. Filtre date sur formulaire continu
    Par delcroixf dans le forum IHM
    Réponses: 2
    Dernier message: 03/04/2007, 09h54
  2. Filtres enchaînés sur formulaire continu
    Par delcroixf dans le forum IHM
    Réponses: 8
    Dernier message: 07/03/2007, 09h27
  3. "Requête filtre avancé" sur formulaire
    Par Thoomas dans le forum IHM
    Réponses: 1
    Dernier message: 24/11/2006, 16h21
  4. PB code et filtre multicritères sur formulaire
    Par flagfight dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2006, 16h36
  5. Programmation d'un filtre particulier sur formulaire
    Par student dans le forum Access
    Réponses: 2
    Dernier message: 24/02/2006, 12h34

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