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 :

Petit bug sur filtre


Sujet :

IHM

  1. #1
    Membre habitué
    Inscrit en
    Février 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Février 2006
    Messages : 230
    Points : 176
    Points
    176
    Par défaut Petit bug sur filtre
    Bonjour,
    J'ai des textbox indépendants (8) qui me permettent de filtrer les 8 champs d'un formulaire continu.
    Ci-dessous le code du premier filtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Filter1_Change()
    Texte49.SetFocus
    Filter1.SetFocus
    FILTRE_FORM
    If Sum_filter Like "" Then
        Me.FilterOn = False
        Filter1.SetFocus
    Else
       Me.Filter = Sum_filter
       Me.FilterOn = True
    End If
    End Sub
    et ci-dessous la fonction générale qui lie tous les filtres du formulaire :

    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
    Private Sub FILTRE_FORM()
    Dim I As Integer
    Dim CTL As String
    Sum_filter = ""
    CTL = "Filter1"
    I = 1
        Do Until I = 10 'Nb de filtre + 1
                    If Me.Controls(CTL) <> "" Then
                        If Sum_filter <> "" Then Sum_filter = Sum_filter & " AND "
                        Sum_filter = Sum_filter & "([champ" & I & "] LIKE '" & Me.Controls(CTL) & "*')"
                    End If
            I = I + 1
            CTL = "Filter" & I
    Loop
    End Sub
    Les champs sont aussi différents que des dates, du texte et des numéros.

    Le premier champ correspond à un numéro de mission : 1,2,3,...12,13,14......125, 126 jusqu'à 150.
    et c'est là que le bas blesse puisque si je tape 25, il m'affiche la mission 25 et seulement celle-ci puisque je n'ai pas de mission 25x ou de missions 25xx...
    Par contre, si je tape 14, j'ai la 14 mais aussi toutes les missions de 140 à 149. Ce n'est qu'un détail, me direz-vous mais je souhaiterai pouvoir affiner mon travail. Avez-vous une idée ?

  2. #2
    Membre habitué
    Inscrit en
    Février 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Février 2006
    Messages : 230
    Points : 176
    Points
    176
    Par défaut Filtres indépendants Formulaire continu
    J'oubliais... la totalité du filtre fonctionne bien... mais j'ai omis de glisser une photo de mon lieu de travail comme Loufab me l'avais suggérer...
    Bon courage à tous.

  3. #3
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    Sympa ton lieu de travail...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum_filter = Sum_filter & "([champ" & I & "] LIKE '" & Me.Controls(CTL) & "*')"
    C'est normal que tu aies 14, 140....149
    Le critère de ta chaine SQL est LIKE Me.Controls.
    Si tu veux 14 uniquement il faut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sum_filter = Sum_filter & "([champ" & I & "] = '" & Me.Controls(CTL) & "*')"

  4. #4
    Membre habitué
    Inscrit en
    Février 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Février 2006
    Messages : 230
    Points : 176
    Points
    176
    Par défaut
    Sauf que maintenant j'ai une erreur exécution 2001 sur la ligne surlignée en gras...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Filter1_change()
    Texte49.SetFocus
    Filter1.SetFocus
    FILTRE_FORM
    If Sum_filter = "" Then
        Me.FilterOn = False
        Filter1.SetFocus
    Else
       Me.Filter = Sum_filter
       Me.FilterOn = True
    End If
    End Sub
    Je ne vois pas pourquoi car l'idée me paraissant en bois brut !

    PS : Pour mon lieu de travail, j'en change tous les jours alors quelques photos suivront de temps en temps même si le site n'est pas dédié à cela. Elles vous permettront de vous évader un peu...

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

Discussions similaires

  1. Petit bug sur IE avec style.color
    Par zerros dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 14/11/2012, 10h06
  2. petit bug sur convolution
    Par Mr.ux dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 11/04/2011, 09h27
  3. Petit bug sur des onglets
    Par pierre.coudert dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 18/01/2007, 11h28
  4. Réponses: 1
    Dernier message: 29/11/2005, 17h32
  5. [RegEx] Petit Bug sur Expression Régulière
    Par Delphy113 dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2005, 20h48

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