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 :

Recherche multicritères ouvrant un formulaire avec des sous-formulaires


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut Recherche multicritères ouvrant un formulaire avec des sous-formulaires


    But : Faire une recherche d’informations à l’aide d’un ou plusieurs critères.

    Un formulaire nommé « Formulaire1 » est constitué de 3 listes déroulantes, de deux zones de texte et d’un bouton de commande. Ce dernier ouvrira un formulaire « F_Recherche_Données » constitué de 3 sous-formulaires (un sous-formulaire par types de données).

    Dans le forulaire « Formulaire1 », l’utilisateur choisira son critère à l’aide des listes déroulantes (Nom données dans les propriétés : LD_Factures, LD_Prix, LD_N° Commande) et des deux zones de texte (Nom données dans les propriétés : ZT_Nom, ZT_Prénom). Ces différents se trouveLes Listes déroulantes sont créées avec des requêtes. Dans la zone de texte, l’utilisateur pourra mettre une lettre, un mot ou groupe de lettres. Le bouton de commande est appelé « Bouton_Recherche ». Ce formulaire a été créé en « mode création ».

    Dans les formulaires « F_Recherche_Données », chaque sous-formulaire est créé avec des requêtes. Dans ces sous-formulaires, il a des champs OLE.

    Que faut-il utiliser pour créer ce filtre, réalisation de cette recherche en VBA ou en Macros et la démarche à suivre. Je ne vois pas comment faut-il que je fasse !!!!. Jusqu’ici je n’ai pas trouvé de solutions à mon problème.

    Merci d’avance.

  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 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Bonjour,

    Dans les tuto ACCESS il y a plusieurs solutions pour ce type de besoin. Regarde celui de Cafeine qui est, je pense, le plus proche de tes attentes.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    J'ai créé le filtre mais lorsque je clique sur le bouton "Bouton_Recherche " rien ne passe.


    ex de Filtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Me.Texte3.Value <> "" Then
    If stLinkCriteria = "" Then
    stLinkCriteria = "[Nom]= " & "'" & Me![ZT_Nom] & "'"
    Else
    stLinkCriteria = stLinkCriteria & " AND [Nom]=" & "'" & Me![ZT_Nom] & "'"
    End If
    End If
    Quelle est la procédure pour ouvrir le formulaire et que le filtre agisse pour chaque sous-formulaire (Fille35, Fille49, Fille36) ?

    Merci d'avance

  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 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    bonjour,

    Tout dépend de la relation entre ton form et tes sous-form.

    quand il y a relation, tu appliques le filtre dès l'ouverture via l'option Where de la commande Docmd.openform. Les sous-form afficheront les données en relation avec le form.

    Quand il n'y a pas de relation (rare mais possible) il faut utiliser les propriétés filter et filteron de chaque sous-form (le sujet a largement été évoqué sur le forum)

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Il n'y a pas de relation donc j'ai utilisé les propriétés filter et filteron pour les sous-form. Rien ne fonctionne.
    Je suis un débutant dans le language en VBA.
    Le forum ne m'a pas beaucoup aidé jusqu'ici.
    Je suis perdu.

    Aidez-moi !!!

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Peut-on voir comment tu attribus ton filtre à la propriété des différents sous-forms ?

    Le problème semble être à ce niveau.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    J''ai fait un autre essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    If Me.Texte3.Value <> "" Then
    Forms![F_Recherche_Données ]![Fille35].Filter = "Nom = """ & Me.ZT_Nom & """"
    Forms![F_Recherche_Données ]![Fille35].Form.FilterOn = True
    Else
    Forms![F_Recherche_Données ]![Fille35].Form.Filter = ""
    Forms![F_Recherche_Données ]![Fille35].Form.FilterOn = False
    End If
    Le message suivant apparaît :

    Impossible de trouver le formulaire "F_Recherche_Données" auquel il est fait référence dans une expression de macro ou un code de Visual Basic

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Bonjour,

    Tes appels au sous-form sont incorrects.

    Il faut cibler le filter du sous-form et non du controle qui le contient.

    Regarde sur ma page perso il y a un tableau des appels (qu'il faut que je corrige) remplace systèmatiquement les ! par des .

    ça devrait donner un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    forms.monform.form.monsousform.moncontrole
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Oups j'ai lu que la première ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![F_Recherche_Données ]![Fille35].Filter = "Nom = """ & Me.ZT_Nom & """"
    et le problème vient de là. Il doit ressembler aux autres qui la suivent.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    J'ai corrigé l'erreur et j'ai toujours le même message qui apparaît.

  11. #11
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.Mon-Sous-form.Form.filter
    Essaye plutot ce code.

    Désolé je suis un peu à la rue en ce moment.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  12. #12
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    But : Faire une recherche d’informations à l’aide d’un ou plusieurs critères.

    Un formulaire nommé « Formulaire1 » est constitué de 3 listes déroulantes, de deux zones de texte et d’un bouton de commande. Ce dernier ouvrira un formulaire « F_Recherche_Données » constitué de 3 sous-formulaires (un sous-formulaire par types de données).

    Dans le formulaire « Formulaire1 », l’utilisateur choisira son critère à l’aide des listes déroulantes (Nom données dans les propriétés : Texte5, Texte3, Texte0) et des deux zones de texte (Nom données dans les propriétés : Texte7, Texte16). Les Listes déroulantes sont créées avec des requêtes. Dans la zone de texte, l’utilisateur pourra mettre une lettre, un mot ou groupe de lettres. Le bouton de commande est appelé « Commande19». Ce formulaire a été créé en « mode création ».

    Dans les formulaires « F_Recherche_Données », chaque sous-formulaire est créé avec des requêtes. Dans ces sous-formulaires, il a des champs OLE.

    Vous trouverais ci-dessous une partie de mon programme VBA réalisé dans le formulaire1:

    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
     
    Private Sub Commande19_Click()
    On Error GoTo Err_Commande19_Click
     
    Dim stDocName As String
    Dim stLinkCriteria As String
     
    stDocName = "F_Recherche_Données"
     
    If Me.Texte5.Value <> "" Then
    Me!Fille35.Form.Filter = "Années = """ & Me![Texte5] & """"
    Me!Fille35.Form.Filter = True
    Else
    Me!Fille35.Form.Filter = ""
    Me!Fille35.Form.Filter = False
    End If
     
    'Une requête a été créée à l'aide des propriétés du sous-formulaire "Fille35"
     
    DoCmd.OpenForm stDocName, , , stLinkCriteria
     
    Exit_Commande19_Click:
    Exit Sub
     
    Err_Commande19_Click:
    MsgBox Err.Description
    Resume Exit_Commande19_Click
     
    End Sub
    Un message apparaît :" Impossible de trouver le champ "Fille35" auquel il fait référence dans votre expression.

    Merci d’avance.

  13. #13
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    me c'est l'instance (formulaire ou état) courant. Si fifille35 est dans F_recherche ça ne peut pas fonctionner. Je pensais à tord qu'il s'agissait du même formulaire.

    Ouvre le formulaire F_recherche (c'est logique d'ouvrir avant d'y faire référence)

    applique les filtres après.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    forms.frm_recherche.form.fille35.filter = "champ = """ & me.montexte & """"
    Utilise les points au lieu des points d'exclamation.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  14. #14
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms.frm_Recherche.Form.Fille35.Filter = "Années = """ & Me.Texte5 & """"
    Un message apparait : Propriété ou méthode non générée par cet objet.

  15. #15
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Fille35 n'est pas un sou-formulaire en mode continu ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  16. #16
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Je ne comprends ce que vous voulez dire !!!!

  17. #17
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Est-ce que Fille35 (et ses copines) est le nom du sous-formulaire ?
    Est-ce le nom d'un controle, d'une liste ?

    Une copie d'écran commentée m'aiderait.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  18. #18
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Vous trouverais ci-joint une copie d'écran du formulaire "F_Recherche_Données" avec le sous-formulaire et le champ "Années" se trouve dans le sous-formùulaire "Fille35".
    J'espère que ça va vous éclaircir.
    Images attachées Images attachées  

  19. #19
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 015
    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 015
    Points : 24 552
    Points
    24 552
    Par défaut
    Je viens de faire un test avec 2 formulaires.

    Formulaire2 contient Formulaire1.
    Dans Formulaire2 il y a un controle texte nommé Texte3
    Dans Formulaire1 il y a un controle lié au champ nommé F1

    Voici le code que j'ai placé sur Après MAJ de Texte3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.Formulaire1.Form.Filter = "F1=""" & Me.Texte3 & """"
    Me.Formulaire1.Form.FilterOn = True
    Tout cela fonctionne très bien. Tu n'as plus qu'à transposer à ton cas de figure.

    PS : n'oubli pas les balises de code. Dans le cas contraire ton post risque d'être supprimé.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  20. #20
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 26
    Points : 10
    Points
    10
    Par défaut
    Ce n'est pas ce que je veux.
    Même avec les balises, je ne comprends pas ce qu'il se passe.

Discussions similaires

  1. [AC-2003] Impression d'un formulaire avec des sous-états non liés
    Par Xtine dans le forum IHM
    Réponses: 4
    Dernier message: 15/12/2009, 17h09
  2. [AC-2003] Problème avec des sous-formulaires
    Par maringot dans le forum IHM
    Réponses: 7
    Dernier message: 11/12/2009, 13h51
  3. Réponses: 45
    Dernier message: 06/03/2007, 16h30
  4. Réponses: 5
    Dernier message: 25/04/2006, 16h04
  5. Réponses: 2
    Dernier message: 28/09/2005, 17h08

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