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 :

comment créer une liste qui en trie une autre par son choix


Sujet :

IHM

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut comment créer une liste qui en trie une autre par son choix
    Salut ,
    j'ai dans un formulaire une liste de personnes avec nom et prénom
    juste à coté j'ai une liste déroulante "trier par" avec comme choix : nom, prénom, age,...
    En choisissant un élément de cette dernière liste, je voudrais fermer le formulaire en cours et en réouvrir un avec toujours la liste des personnes affichée mais cette fois triée en fonction du choix de la liste "trier par"
    précision : je n'utilise pas de code vba donc j'essaye de me débrouiller avec les macros
    Auriez vous une idée s'il vous plait de comment programmer cette fonctionnalité ?
    J'espère que j'ai été assez clair et précis.
    Au pire je peux vite-fait uploader ma base sur megaupload et vous donner un lien.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour et bienvenue sur le forum Office de DVP

    Par quoi est alimentée ta liste ? Une requête ? Si oui, il faudrait mettre en paramètre de cette requête ta deuxième liste.

    Je t'avoue que je n'utilise quasiment jamais les macros, mais à mon avis il faudra passer par du VBA.

    Philippe

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Oui, ma liste de personnes est alimentée par une requête :
    dans les propriétés de cette liste, dans Origine source : j'ai mis table/requête , et dans contenu :

    SELECT [résidents].[N°], [résidents].[nom], [résidents].[prénom] FROM résidents ORDER BY [nom], [prénom];

    "Si oui, il faudrait mettre en paramètre de cette requête ta deuxième liste"
    -> je ne vois pas trop ce que tu veux dire

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Tenez voici un lien pour télécharger ma base pour voir ce que ça donne :
    http://www.megaupload.com/?d=7PDLUJB0
    Le formulaire ou se trouve les liste c'est "Formulaire1"

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Serait-il possible que le choix d'un élément de la liste de tri ouvre un formulaire propre à ce choix ?
    Par exemple, le choix de l'élément "nom" de la liste de tri ouvrirait un formulaire avec la liste des noms et prénoms, et avec comme requête sous-jacente : SELECT [résidents].[N°], [résidents].[nom], [résidents].[prénom] FROM résidents ORDER BY [nom];
    Tandis que pour le choix de l'élément prénom de la liste de tri, dans la liste des nom et prénoms, la requête diffèrerait légèrement : SELECT [résidents].[N°], [résidents].[nom], [résidents].[prénom] FROM résidents ORDER BY [prénom];

    Au lieu d'une liste de tri, je pourrais facilement faire avec des boutons "nom", "prénom", "age", etc. chacun ouvrant un formulaire avec une liste de nom, prénom selon une requete différente.
    Mais c'est pas vraiment ce que je veux pour mon interface car les boutons, trop nombreux, encombreraient mon formulaire par rapport à une liste déroulante.

    J'ai déjà bien conceptualisé les fonctionnalités de mon programme de base de données mais pour les implémenter avec access, c'est là que j'ai du mal à faire ce que je veux

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    J'aurais bien mis une requête de ce type associée à la liste de personnes :

    SELECT résidents.N°, résidents.nom, résidents.prénom
    FROM résidents

    If [Formulaires]![Formulaire1]![liste tri]="nom"
    Then ORDER BY résident.nom
    Else if [Formulaires]![Formulaire1]![liste tri]="prénom"
    Then ORDER BY résident.prénom
    etc...
    Endif

    ou encore :

    ORDER BY (If [Formulaires]![Formulaire1]![liste tri]="nom" then résident.nom
    Else if [Formulaires]![Formulaire1]![liste tri]="prénom" then résident.prénom
    etc,...Endif)

    ou alors encore plus simpliste :

    ORDER BY résident.([Formulaires]![Formulaire1]![liste tri])

    Bon évidemment ces requêtes ne sont pas valables
    Mais comme je ne suis pas très fort en SQL, je me dis qu'il doit bien y avoir une solution pour faire une requête qui ressemble à ça et qui arrive à ce que je souhaite, non

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    Up
    je savais qu'il fallait que je persévère car je viens de trouvé une piste : les conditions des macros !
    pour chaque action d'une macro, j'ai vu qu'on peut ajouter la colonne condition qui, soit-disant, conditionne l'execution de l'action à la véracité de cette condition.
    Ce qui voudrait dire que si cette condition n'est pas vrai, alors l'action ne s'execute pas.
    d'ou mon idée : mettre une macro sur la liste de tri avec les actions "ouvrirformulaire" pour chaque formulaire associé au choix de la liste de tri.
    et la condition pour ouvrir le forumaire qui donnera la liste de personnes triée selon le nom (par exemple), serait : [Formulaires]![Formulaire1]![liste tri] = "nom"
    Meme principe pour les conditions des autres actions "ouvrirformulaire"
    cela vous parait-il une bonne méthode ? c'est peu-ete pas très "propre" mais si ça marche et que ça n'altere pas sensiblement les performances du programme, apres tout, peu importe.
    je vais essayer d'implémenter et je vous (enfin...s'il ça interesse des gens ) tiens au courant
    en attendant si vous avez mieux à proposer je suis aussi preneur
    a+

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    ah mince ça marche pas
    les conditions ne sont jamais vraies
    c'est vraiment de la merde les macros

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 4
    Points
    4
    Par défaut
    à moins que je ne passe par du vba du genre :
    sur l'évènement "après MAJ" de la liste de tri :
    If Me.[Liste tri] = "nom" Then
    la requete de la liste de personne = select .....order by nom
    Else If Me.[Liste tri] = "prénom" Then
    la requete de la liste de personne = select .....order by prénom
    et etc.
    End If
    je vais essayer d'implémenter ça mais bon comme je découvre à peine vba ça va etre chaud
    ça sent la grosse prise de tête entre trouver les bonnes focntions, les erreurs de syntaxe, etc.

Discussions similaires

  1. Concevoir une liste qui en alimente une autre
    Par argyronet dans le forum IHM
    Réponses: 17
    Dernier message: 14/08/2020, 18h21
  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, 13h35
  3. Réponses: 2
    Dernier message: 29/11/2012, 17h10
  4. Réponses: 0
    Dernier message: 15/12/2009, 17h38
  5. [AC-2007] Inserer la valeur dans une table avec une liste qui en alimente une autre
    Par DidoFido dans le forum VBA Access
    Réponses: 6
    Dernier message: 03/12/2009, 12h39

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