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 :

Code filtre 2 critères sous formulaires [AC-2019]


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 124
    Points : 78
    Points
    78
    Par défaut Code filtre 2 critères sous formulaires
    Bonsoir,

    Je viens une fois de plus solliciter votre aide.
    J'ai créé un formulaire principal avec 4 onglets de navigations permettant d'afficher les sous formulaires en mode feuilles données. J'utilise le code sourceobject pour afficher les sous forms.

    Les 4 sous formulaires ont tous 2 champs identiques: Ville et Nom.
    J'ai créé sur le formulaire principal un filtre basé sur ces 2 champs avec une cmd_rechercher.
    Mon filtre est Txt_Ville et Txt_Nom, qui sont des champs indépendants.
    Malheureusemenrt mon filtre ne fonctionne pas.

    Voici le code
    Code langage : 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 Cmd_Rechercher_Click()
    f = ""
    If Not IsNull(Me.Txt_Ville) And Me.Txt_Ville <> "" Then
    f = f & "Ville LIKE""*" & Me.Txt_Ville & "*"""
    End If
    If Not IsNull(Me.Txt_Nom) And Me.Txt_Nom <> "" Then
    If f <> "" Then
    f = f & "OR Ville LIKE""*" & Me.Txt_Nom & """"
    Else
    f = "Nom=""" & Me.Txt_Nom & """"
    End If
    End If
    Me.Filter = f
    Me.FilterOn = True
    End Sub

    PS: Mes 4 sous forms ont la même source.

    Par avance merci++

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    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 759
    Points : 14 793
    Points
    14 793
    Par défaut
    bonsoir,
    J'ai créé un formulaire principal avec 4 onglets de navigations permettant d'afficher les sous formulaires en mode feuilles données.
    J'utilise le code sourceobject pour afficher les sous forms.
    Malheureusemenrt mon filtre ne fonctionne pas.
    Mes 4 sous forms ont la même source.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Filter = f
    Me.FilterOn = True
    Toutes les informations que tu donnes ne suffiront pas pour te donner une solution:
    - le code ne s'applique qu'au formulaire principal, car Me fait référence au formulaire où est créé le code (bouton Cmd_Rechercher du formulaire principal).
    - Filter est applicable pour un sous-formulaire "classique", c'est à dire un formulaire avec une source de données intégré à un formulaire principal. Cela ne fonctionne pas avec un source objet indépendant de type requête ou table car on n'a pas accès au RecordSource.

    De quel type est le source objet des sous-formulaires ?

    Peux-tu poster le code complet ?

    D'autre part, les formulaires de navigation ont une syntaxe spéciale, et d'après ce que j'ai lu, un comportement pas très orthodoxe
    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
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 124
    Points : 78
    Points
    78
    Par défaut
    Bonsoir Tee_grandbois.

    Mes sous formulaires sont basés sur une requête.
    J'ai créé un formulaire principal indépendant avec 4 btns correspondant à chaque sous formulaire.
    Chaque btn a le code suivant:
    Code langage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     Me.Details.SourceObject = "Nom du sous formulaire"
    Me.Lbl_Titre.Caption = "Titre à afficher"

    Merci

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    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 759
    Points : 14 793
    Points
    14 793
    Par défaut
    Mes sous formulaires sont basés sur une requête.
    j'en déduis que c'est un formulaire utilisé comme sous-formulaire et avec une requête comme source de données ...
    essaie cette syntaxe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.[Details].Form.Filter = f
    Me.[Details].Form.FilterOn = True
    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
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 124
    Points : 78
    Points
    78
    Par défaut
    Yes!
    Ca marche nickel.
    cependant les 2 critères ne sont pas pris en compte
    Est-il possible d'avoir un avis sur le code concernant le paramétrage des 2 critères:
    Ville seule ou Nom seul et la combinaison des 2.

    Merci

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    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 759
    Points : 14 793
    Points
    14 793
    Par défaut
    Est-il possible d'avoir un avis sur le code concernant le paramétrage des 2 critères:
    Ville seule ou Nom seul et la combinaison des 2.
    un seul conseil: ajoute Debug.print f avant le filtre et compare le résultat par rapport à ta saisie et ce qui est affiché ...
    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
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 124
    Points : 78
    Points
    78
    Par défaut
    Je n'arrive pas avoir le différence. Peut être déjà un peu fatigué ou mon manque d'expérience
    Est-il possible d'avoir une idée du résultat attendu?

    merci

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    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 759
    Points : 14 793
    Points
    14 793
    Par défaut
    Citation Envoyé par sctb123
    Je n'arrive pas avoir le différence. Peut être déjà un peu fatigué ou mon manque d'expérience
    Est-il possible d'avoir une idée du résultat attendu?
    je n'ai ni les critères saisis, ni le résultat sous les yeux, toi oui ...
    Citation Envoyé par sctb123
    Ca marche nickel.
    cependant les 2 critères ne sont pas pris en compte
    comment as-tu fait pour le constater ? c'est bien en comparant le résultat et les critères ?
    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
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 124
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    je n'ai ni les critères saisis, ni le résultat sous les yeux, toi oui ...

    comment as-tu fait pour le constater ? c'est bien en comparant le résultat et les critères ?
    Bonjour Teegrandbois,

    Voici le code complet avec ajout de debug print
    Code langage : 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
     Private Sub Cmd_Rechercher_Click()
    f = ""
    If Not IsNull(Me.Txt_Ville) And Me.Txt_Ville <> "" Then
    f = f & "Ville LIKE""*" & Me.Txt_Ville & "*"""
    End If
    If Not IsNull(Me.Txt_Nom) And Me.Txt_Nom <> "" Then
    If f <> "" Then
    f = f & "OR Ville LIKE""*" & Me.Txt_Nom & """"
    Else
    f = "Nom=""" & Me.Txt_Nom & """"
    End If
    End If
    Debug.print f
    Me.[Details].Form.Filter = f
    Me.[Details].Form.FilterOn = True
    End Sub

    Est que Debug.print f est positionné au bon endroit?
    Serait-il possible de connaitre sa fonction? J'ai lu que c'était un des outils de débogage.

    Merci

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

Discussions similaires

  1. Filtre multi critère sous formulaire
    Par yieiii dans le forum IHM
    Réponses: 5
    Dernier message: 13/09/2010, 14h47
  2. Annuler un filtre dans un sous formulaire
    Par fkasid dans le forum IHM
    Réponses: 3
    Dernier message: 24/01/2007, 11h28
  3. Requête filtrée dans des sous-formulaires
    Par Beavis Man dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/12/2006, 23h31
  4. Filtre dans un sous formulaire
    Par marie10 dans le forum Access
    Réponses: 8
    Dernier message: 06/02/2006, 17h35
  5. Filtre dans un sous-formulaire
    Par moto25 dans le forum IHM
    Réponses: 14
    Dernier message: 10/11/2005, 09h16

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