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 :

Tri sur formulaire par liste deroulante


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut Tri sur formulaire par liste deroulante
    Bonjour,
    je travaille sur un formulaire sur lequel j'ai positionné plusieurs graphiques,
    a l'aide d'une liste déroulante je rafraichi les graphiques selon les années choisies.

    pour cela je recupere la valeur de la liste déroulante dans chaque graphique par la requete sql du graphique avec une clause having(généré par access).
    du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HAVING ((([1-Accueil Réception].date1)=[Formulaires]![Formulaire1]![ma liste deroulante]));
    le probleme c'est que j'aimerais avoir un choix de type "toutes les années".

    y'a t'il un parametre a indiquer dans la clause ?
    ou une valeur par defaut du type "*"

    merci

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonsoir,

    Essaies:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HAVING [Formulaires]![Formulaire1]![ma liste deroulante] = "Toutes les années" OR ((([1-Accueil Réception].date1)=[Formulaires]![Formulaire1]![ma liste deroulante]));
    En passant, le HAVING est lié à une requête group by, dans laquelle tu effectues un filtre sur une valeur résultant du group by... Dans ton cas, ta peux effectuer le fitre avant le regroupement ce qui est plus efficace. Cela revient à remplacer le HAVING par un WHERE.... Si tu n'es pas à l'aise avec le SQL, oublies ce détail, ce n'est qu'une optimisation

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    je vais teste ça merci !

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    ça fontionne presque mais je n'ai pas le résultat escompté

    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT [1-Accueil Réception].q, Sum([1-Accueil Réception].[Accueil reception1]) AS [Accueil reception], Sum([1-Accueil Réception].[Accueil services1]) AS [Accueil services], Sum([1-Accueil Réception].[Délais d'attente1]) AS [Délais d'attente] FROM [1-Accueil Réception] 
     
    GROUP BY [1-Accueil Réception].q, [1-Accueil Réception].date1 HAVING ((([Formulaires]![Graph_1]![année])="Toutes les années")) OR ((([1-Accueil Réception].date1)=[Formulaires]![Graph_1]![année]));
    EN fait j'affiche un graphique
    mais j'aimerais afficher un cumul des résultat de toutes les années additionnée ou simplement une année spécifique en fonction du choix dans la liste déroulante.

    le probleme actuel c'est que si toutes les années et sélectionné j'ai une barre de graphique pour chaque année et non pas le cumul.

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Peut être qu'avec un SQL un peu tordu comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT [1-Accueil Réception].q, Sum([1-Accueil Réception].[Accueil reception1]) AS [Accueil reception], 
    Sum([1-Accueil Réception].[Accueil services1]) AS [Accueil services], 
    Sum([1-Accueil Réception].[Délais d'attente1]) AS [Délais d'attente] 
    FROM [1-Accueil Réception] 
    WHERE ((([Formulaires]![Graph_1]![année])="Toutes les années")) 
    OR ((([1-Accueil Réception].date1)=[Formulaires]![Graph_1]![année]))
     
    GROUP BY [1-Accueil Réception].q,
    IIF((([Formulaires]![Graph_1]![année])="Toutes les années"),"Tout", [1-Accueil Réception].date1)

    Mais le plus simple est sans doute de repenser ton formulaire.... en affichant un autre graphique si tu sélectionnes toutes les années par exemple...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 38
    Points : 15
    Points
    15
    Par défaut
    Hello,
    merci pour la reponse!
    pour pallier a mes soucis j'ai effectivement créer ds graphiques spécifiques lorsque je desire faire apparaitre un culmul par année
    je vais tout de meme tester ta requete !

    merci

Discussions similaires

  1. Formulaire avec saisie par liste deroulante
    Par jcp66 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 31/01/2013, 16h39
  2. [AC-2010] Tri sur formulaire et liste déroulante
    Par electrosat03 dans le forum IHM
    Réponses: 6
    Dernier message: 05/08/2011, 03h16
  3. Réponses: 2
    Dernier message: 03/03/2011, 19h05
  4. tri sur requete par liste deroulante
    Par santacrus dans le forum IHM
    Réponses: 5
    Dernier message: 18/02/2008, 09h02
  5. Texte affiché par liste deroulante
    Par dynxd dans le forum Access
    Réponses: 20
    Dernier message: 30/09/2005, 21h37

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