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 :

Resultats d'un formulaire de recherche


Sujet :

IHM

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 181
    Par défaut Resultats d'un formulaire de recherche
    Bonjour à tous,

    Connaissant la compétence des visiteurs de ce forum, je suis certain que vous pourrez m'aider, car je bloque.

    Je m'explique :

    J'ai créé un formulaire dans lequel j'ai 3 listes déroulantes.

    La première selectionne une table
    La deuxième selectionne un champ de la table précedemment choisi
    La troisième selectionne une liste d'un enregistrement du champ selectionné.

    J'aimerai faire afficher les informations relatives à cet enregistrement, en cliquant sur un bouton, dans un formulaire (par exemple).

    Je débute en VBA. Merci mille fois de votre aide.

    Olivier

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Salut,

    Tout d'abord il faut que la valeur sélectionnée dans ta liste 3 soit unique (Champ avec clé primaire de la table source du formulaire que tu souhaites ouvrir ):

    Pour commencer, regarde du côté de la méthode OpenForm:

    Un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "TonFormulaire", , ,"TonChamp = " & Me!TaListe3.Value
    Si le contenu de ta liste déroulante 3 (valeur sélectionnée) est numérique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "TonFormulaire", , ,"TonChamp = '" & Me!TaListe3.Value & "'"
    Si le contenu de ta liste déroulante 3 (valeur sélectionnée) est du type texte.
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 181
    Par défaut
    Citation Envoyé par User Voir le message
    Salut,

    Tout d'abord il faut que la valeur sélectionnée dans ta liste 3 soit unique (Champ avec clé primaire de la table source du formulaire que tu souhaites ouvrir ):

    Pour commencer, regarde du côté de la méthode OpenForm:

    Un exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "TonFormulaire", , ,"TonChamp = " & Me!TaListe3.Value
    Si le contenu de ta liste déroulante 3 (valeur sélectionnée) est numérique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "TonFormulaire", , ,"TonChamp = '" & Me!TaListe3.Value & "'"
    Si le contenu de ta liste déroulante 3 (valeur sélectionnée) est du type texte.
    Merci User de ta réponse aussi rapide.

    J'ai plusieurs questions :

    - Il faut que je mette sur un evenement "OnClick" d'un bouton (par exemple ?)

    - Quand tu dis : " Tout d'abord il faut que la valeur sélectionnée dans ta liste 3 soit unique (Champ avec clé primaire de la table source du formulaire que tu souhaites ouvrir )". Tout dépends du champ choisi (liste déroulante 2), car je ne peux pas avoir plusieurs clés primaire dans une même table. Je ne saisi pas trop ce que tu veux dire

    Merci pour ton aide

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Re,

    - Il faut que je mette sur un evenement "OnClick" d'un bouton (par exemple ?)
    Oui par exemple.

    - Quand tu dis : " Tout d'abord il faut que la valeur sélectionnée dans ta liste 3 soit unique (Champ avec clé primaire de la table source du formulaire que tu souhaites ouvrir )". Tout dépends du champ choisi (liste déroulante 2), car je ne peux pas avoir plusieurs clés primaire dans une même table. Je ne saisi pas trop ce que tu veux dire
    Juste un exemple:

    TaListe3
    --1--
    --2--
    --3--

    Table_Enregistrement
    Index-|-Champ1....
    --1---|---A---
    --2---|---A---
    --3---|---B---
    --4---|---B---
    --5---|---B---

    Comme tu peux le constater les valeurs contenues dans le champ Index de la table_enregistrement sont tous différents et donc unique ce qui permet d'identifier chacun des enregistrements de la table.

    Dans ce cas le code suivant fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "TonFormulaire", , ,"Index = " & Me!TaListe3.Value
    A+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 181
    Par défaut
    Citation Envoyé par User Voir le message
    Re,



    Oui par exemple.



    Juste un exemple:

    TaListe3
    --1--
    --2--
    --3--

    Table_Enregistrement
    Index-|-Champ1....
    --1---|---A---
    --2---|---A---
    --3---|---B---
    --4---|---B---
    --5---|---B---

    Comme tu peux le constater les valeurs contenues dans le champ Index de la table_enregistrement sont tous différents et donc unique ce qui permet d'identifier chacun des enregistrements de la table.

    Dans ce cas le code suivant fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "TonFormulaire", , ,"Index = " & Me!TaListe3.Value
    A+
    Merci beaucoup de ta réponse.

    Concrètement, j'ai une liste déroulante que j'ai appellé cbo_table, une autre liste déroulante que j'ai appellé cbo_champ et le troisième que j'ai appellé cbo_critere.

    Mon formulaire dans lequel je veux afficher mes résultats s'appelle GTH_req
    Ma clé primaire est sur un numéroAuto pour certaines tables, mais sur des champs pour d'autres tables.
    Donc par rapport à ton code, cela correspondrait à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "GTH_req", , ,"numéroAuto = " & Me!cbo_critere.Value
    Ai-je bien compris ?

    Merci de ton aide

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 598
    Billets dans le blog
    67
    Par défaut
    Re,

    Dans un premier temps,
    Il faut que la table ou requête source du formulaire GTH_req est comme clé le champ numéroAuto et que ce soient des valeurs de ce même champ numéroAuto qui soient affichées dans la liste cbo_critere.

    Si oui essaie ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "GTH_req", , ,"numéroAuto = " & Me!cbo_critere.Value
    et reviens nous dire ce qui se passe...
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/05/2011, 18h25
  2. [MySQL] mettre le formulaire et les resultats d'un moteur de recherche sur la meme page
    Par VIRGINIE87 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/08/2010, 09h42
  3. Réponses: 2
    Dernier message: 01/11/2009, 19h56
  4. Réponses: 3
    Dernier message: 20/10/2005, 12h42
  5. Réponses: 5
    Dernier message: 18/10/2005, 14h09

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