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

Access Discussion :

filtrer une liste en fonction d'une valeur


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 101
    Points : 64
    Points
    64
    Par défaut filtrer une liste en fonction d'une valeur
    Bonjour,

    J'ai un table categories_devis_formation. Cette table contient 2 listes. La première liste contient le nom d'une formation. Il choisit ce nom depuis la table formation. à partir de ce nom j'aimerai filtrer la deuxième liste en fonction de la valeur de la première liste. Sachant que je veux faire cette fonction à partir de la table en utilisant le mecanisme d'access (donc pas de VBA). Mon problème principale est que je n'arrive pas à récupérer la valeur choisie dans la première liste.

    Voici la structure des 3 tables que j'utilise:

    formations

    id_formation
    nom_formation


    categories

    id_categorie
    nom_categorie
    id_formation

    categories_devis_formation

    id_categories_devis_formation
    formation_categories_devis_formation (texte)
    categorie_categories_devis_formation (texte)

    Ma requete SQL pour le contenu de la deuxième liste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT categories.nom_categorie
    FROM (categories INNER JOIN formations ON categories.id_formation = formations.id_formation) INNER JOIN categories_devis_formation ON (formations.nom_formation = categories_devis_formation.formation_categories_devis_formation) AND (categories.nom_categorie = categories_devis_formation.categorie_categories_devis_formation)
    WHERE (((formations.nom_formation)=[categories_devis_formation].[formation_categories_devis_formation]))
    ORDER BY categories.nom_categorie;
    merci d'avance

  2. #2
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 101
    Points : 64
    Points
    64
    Par défaut
    j'ai dit sans VBA, je sais le faire ne VBA c'est enfantin. Je veux utiliser le mecanisme de access.

  4. #4
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut No VBA!!!
    Bonsoir,

    Citation Envoyé par robocop2776
    j'ai dit sans VBA, je sais le faire ne VBA c'est enfantin. Je veux utiliser le mecanisme de access.
    Je ne sais pas si vous vous comprenez tous les deux car ce que Stéphane voulait de dire c'est qu'il te faut réactualiser (Requery de VBA) la source de ta seconde zone de liste! Il te faut donc automatiser cette rafraîchissement! Et pour automatiser, tu as le choix entre VBA et les macros Access.
    Alors dans les macros Access, tu devrait trouver l'action Actualiser et déterminer le contrôle à actualiser. Il te faut ensuite appeller cette macro au bon moment (événement).
    Autrement je ne vois pas. Par ailleurs, je choisirais sans hésitation l'utilisation de VBA qui est plus souple.

    Bon courage et @+
    La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici nous avons réuni théorie et pratique: Rien ne fonctionne ... et personne ne sait pourquoi!
    Albert Einstein

  5. #5
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Bonjour,
    Citation Envoyé par robocop2776
    j'ai dit sans VBA, je sais le faire ne VBA c'est enfantin. Je veux utiliser le mecanisme de access.
    Il est possible que ma susceptibilité ce matin soit un poil plus haute que d'habitude...
    Je trouve cependant assez irritant d'être confronté à ce genre de message en retour d'une proposition. Il ne faut pas oublier que nous sommes sur un forum avec un truc entre nous qui s'appelle un ordinateur et qui n'est pas censé transcrire ni le ton ni l'état d'esprit d'un message. La forme ça compte tout autant que le contenu.
    Par ailleurs, on n'est pas là pour réinventer l'eau tiède...ce n'est pas mon objectif en tous les cas.
    Donc, lorsqu'une solution simple et éprouvée à un problème existe, appliquons-là.
    Sur ce, bonne journée...

    SE
    Si le monde explose, la dernière voix audible sera celle d’un expert, disant que la chose est impossible. - P. Ustinov

Discussions similaires

  1. Réponses: 9
    Dernier message: 18/05/2015, 21h05
  2. [LibreOffice][Base de données] Recuperer une liste de tables et une liste de champs d'une table sur LibreOffice & OpenOffice
    Par gerard.sauvage dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 08/04/2014, 12h35
  3. Réponses: 2
    Dernier message: 08/10/2013, 13h54
  4. Réponses: 2
    Dernier message: 06/11/2012, 11h44
  5. Réponses: 2
    Dernier message: 11/09/2007, 11h15

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