1. #1
    Rédacteur/Modérateur


    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 250
    Points : 137 867
    Points
    137 867

    Par défaut [Tutoriel] Un formulaire de recherche basé sur la technique du père/fils

    Bonjour à tous,

    Voici un tutoriel de plus sur les recherches multicritères

    Sa particularité : il est très bref et il fait appel à la technique des formulaires « père/fils ».

    Dans ce tutoriel, vous apprendrez à transformer, en quelques clics et copiés/collés, votre formulaire original en un outil de recherche multicritère.
    Vous y trouverez aussi une manière inhabituelle d'utiliser la technique des formulaires « père et fils » pour réaliser votre sélection.
    L'idée consiste à construire un nouveau formulaire « père » contenant un contrôle par critère de choix et votre formulaire original en tant que
    « fils ».


    Vos remarques sont les bienvenues

    madefemere et Claude
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Espagne

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : novembre 2015
    Messages : 1
    Points : 1
    Points
    1

    Par défaut erreur: usage du mot cle Me n'est pas valide

    Bonjour

    J'ai une erreur et je sais pas comment résoudre le problème.
    erreur: usage du mot cle Me n'est pas valide.

    Quelqu'un peut-il m'aider? merci .
    Je suis un total debutant en VB.

    Alexandre

  3. #3
    Rédacteur/Modérateur


    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 250
    Points : 137 867
    Points
    137 867

    Par défaut

    Bonjour,

    « Me. » c'est un raccourci pour dire « l'objet dont il est question dans ce module ».

    Tu peux donc l'utiliser uniquement dans un module de formulaire ou d'état.

    Si tu as ce message d'erreur, c'est que tu as écrit « Me. » dans un module ordinaire. Là, tu dois spécifier l'objet en donnant son nom complet, quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!LeNomDuFormulaire
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 8
    Points
    8

    Par défaut problème avec ME(sContenur)

    Bonjour,

    je viens d'installer le code qui se déclenchera après la mise à jour (copier/coller) dans un module que j'ai appelé module_PereFils. Access me refuse le code ME (sConteneur) ainsi que les autres ME par ailleurs.
    Je les ai remplacé par forms![NomForm_Pere] et les autres ME comme proposé dans les commentaires. Access me les accepte mais cela ne fonctionne pas. De plus, je souhaiterai utilisé ce module dans différents formulaires et si je procède de la sorte, il me faudra répéter ce code.
    J'ai aussi tenté d'installer ce code dans le module du formulaire... sans résultat.

    Où ai-je commis une erreur ?

  5. #5
    Rédacteur/Modérateur


    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 250
    Points : 137 867
    Points
    137 867

    Par défaut

    Bonjour,

    Je ne comprends pas trop ce que tu expliques : si ta base est convertible en version Access2000, postes-en le Zip et je regarderai ce que tu as fait.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 8
    Points
    8

    Par défaut réponse

    Merci Claude pour ta rapidité... qui ne sera pas la mienne car je dois partir dans 5 min.

    Sache déjà que je travaille avec ACCESS 2016 et que j'ai recopié les trois schémas (le code dans un module, le code sur ouverture du formulaire concerné ainsi que sur chaque controle après MAJ) comme le prévoit ta procédure (en modifiant bien entendu le nom du sous-formulaire).
    Ma DB est un grand volume +/-160 Mega... que veux-tu que je te transmette ?

  7. #7
    Rédacteur/Modérateur


    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 250
    Points : 137 867
    Points
    137 867

    Par défaut

    Regarde si tu peux convertir ta base en version Access2000.

    http://claudeleloup.developpez.com/F...access2000.pdf
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #8
    Membre expert
    Avatar de tee_grandbois
    Homme Profil pro
    retraité mais encore activé
    Inscrit en
    novembre 2004
    Messages
    2 039
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité mais encore activé

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 039
    Points : 3 459
    Points
    3 459

    Par défaut

    Bonsoir Claude,
    indépendamment du problème de bipbip56, est-ce que ce code issu de Public Sub Actu() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me(sConteneur).LinkChildFields = Me.cntrVINS.LinkChildFields _
                 & "[" & Right(ctl.Name, Len(ctl.Name) - 6) & "];"
             Me(sConteneur).LinkMasterFields = Me.cntrVINS.LinkMasterFields _
                 & "[" & ctl.Name & "];"
    ne devrait pas être plutôt comme ceci ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me(sConteneur).LinkChildFields = Me(sConteneur).LinkChildFields _
                 & "[" & Right(ctl.Name, Len(ctl.Name) - 6) & "];"
             Me(sConteneur).LinkMasterFields = Me(sConteneur).LinkMasterFields _
                 & "[" & ctl.Name & "];"

  9. #9
    Rédacteur/Modérateur


    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 250
    Points : 137 867
    Points
    137 867

    Par défaut

    Bonjour Guy et bipbip56,

    Tu as tout à fait raison Guy : c’est une distraction de ma part !
    Quand j’ai « généralisé » mon code original (qui était spécifique à ctnrVins), j’ai oublié de corriger aux endroits que tu signales.
    Et mes tests n’ont pas mis cette erreur en évidence : dans mon contexte, « Me(sConteneur) » et « Me.cntrVINS » sont synonymes.
    Maintenant, je comprends ce qu’explique bipbip56 : chez lui le conteneur du fils ne s’appelle certainement pas « cntrVINS » ! Évidemment, c’est là que ça coince…
    Toutes mes excuses, je corrige dans l’heure qui suit.
    Merci à vous deux.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  10. #10
    Rédacteur/Modérateur


    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 250
    Points : 137 867
    Points
    137 867

    Par défaut

    Le tuto en ligne est modifié.

    Donc bipbip56 dans le module associé au formulaire père, remplace le code de Public Sub Actu() par celui-ci

    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
    Public Sub Actu()
      On Error GoTo GestionErreurs
      Dim ctl As Control
      Me(sConteneur).LinkMasterFields = ""
      Me(sConteneur).LinkChildFields = ""
      For Each ctl In Me.Controls
         If Left(ctl.Name, 6) = "filtre" And Not IsNull(Me(ctl.Name)) Then
             Me(sConteneur).LinkChildFields = Me(sConteneur).LinkChildFields _
                 & "[" & Right(ctl.Name, Len(ctl.Name) - 6) & "];"
             Me(sConteneur).LinkMasterFields = Me(sConteneur).LinkMasterFields _
                 & "[" & ctl.Name & "];"
         End If
      Next ctl
      Exit Sub
    GestionErreurs:
      Select Case Err.Number
        Case 2335  'survient à partir de la 2e affectation d'un champ fils (sans conséquence)
          Resume Next
        Case Else
          MsgBox "Erreur dans Sub Actu : " & Err.Number & " " & Err.Description
      End Select
    End Sub
    ... et je croise les doigts, ça devrait fonctionner chez toi.

    Navré pour le contretemps.
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 8
    Points
    8

    Par défaut corrections faites mais....

    Bonjour Claude,

    Peux-tu me préciser l'endroit exact où tu installes le code Public Sub Actu() corrigé ?

    Si je l'installe dans un module indépendant, ACCESS me rejette toujours les fonctions Me.
    Si je l'installe dans le module du formulaire Père, ACCES me l'accepte mais je n'ai aucun résultat...

    Merci pour ton aide.

    ps: je ne parviens pas à t'envoyer une copie de la DB exemple

  12. #12
    Rédacteur/Modérateur


    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    novembre 2006
    Messages
    18 250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : novembre 2006
    Messages : 18 250
    Points : 137 867
    Points
    137 867

    Par défaut

    C'est dans le module du formulaire père.

    ps: je ne parviens pas à t'envoyer une copie de la DB exemple
    À cause que tu ne peux la convertir en version Access 2000 ? Ou une autre raison ?
    Si vos yeux piquent à cause des fautes d'orthographe, c'est un don que vous pouvez exploiter en cliquant ici.

    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2016
    Messages : 4
    Points : 8
    Points
    8

    Par défaut abandon...

    Désolé Claude,

    j'ai contourné le problème en utilisant les commandes linkchildfields et linkMasterFileds via des boutons plutôt que des listes déroulantes et cela fonctionne...
    je tâcherai de revenir sur ta procédure plus tard car elle m'intéresse toujours mais pour l'instant je n'ai pas le temps de m'y atteler.

    Grand merci pour ton attention et ta rapidité de réaction.

Discussions similaires

  1. [AC-2013] Modifier la recherche basée sur la technique du père/fils
    Par yclaf dans le forum Access
    Réponses: 5
    Dernier message: 20/05/2014, 22h25
  2. Réponses: 1
    Dernier message: 24/05/2013, 18h10

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