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 :

Filtrer un planning


Sujet :

IHM

  1. #1
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut Filtrer un planning
    Bonsoir,

    j'ai un formulaire planning (F_PLANNING) avec un Sous formulaire (SF_PLANNING) sur lequel figure des personnes travaillant en MECANIQUE d'autres en ADMINISTRATIF d'autres encore en MONTAGE.

    sur ce sous formulaire SF_PLANNING j'ai 3 caseacocher (MECA, ADM, MONT)qui viennent de ma table EMPLOYE

    je voudrai mettre un ou plusieurs boutons ou une zone de liste sur le formulaire qui me permettrait (ent) de masquer indifféremment les employés MECA ou ADM ou MONT.

    si quelqu'un avait une idée....


    merci
    A star is dead

  2. #2
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    Bonjour

    j'ai une requête (R_VACATION_ANALYSE_CROISEE) qui alimente le formulaire


    TRANSFORM First(R_Vacation_Jour_Mois.CODE_MISSION) AS PremierDeCode_Mission
    SELECT R_Vacation_Jour_Mois.NOM_PRENOM, [MECA], [ADM], [MONT] , [IDENT], R_Vacation_Jour_Mois.DATE_VM
    FROM R_Vacation_Jour_Mois
    GROUP BY R_Vacation_Jour_Mois.NOM_PRENOM, [MECA], [ADM], [MONT], [IDENT], R_Vacation_Jour_Mois.DATE_VM
    ORDER BY R_Vacation_Jour_Mois.NOM_PRENOM
    PIVOT R_Vacation_Jour_Mois.Jour In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);
    dans la requete je sais mettre manuellement a vrai ou faux les champs MECA, ADM et MONT, mais j'aurais voulu un bouton ou une zone de liste qui vienne m'ouvrir le formulaire avec les restrictions
    du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenForm "SF_planning", , , "[R_VACATION.ANALYSE CROISEE.MECA] <> Yes"
    DoCmd.OpenForm "SF_planning", , , "[R_VACATION.ANALYSE CROISEE.ADM] <> faux"
    afin qu'il n'affiche que les employés qui sont en mecanique etc..

    merci de votre aide
    A star is dead

  3. #3
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    si je mets ce code jen'ai aucune erreur mais il ne prend rien en considération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "F_PLANNING", , , "[R_vacation_analyse_croisée.MECA] <> Yes"
    A star is dead

  4. #4
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    bonjour,
    dans la requete je sais mettre manuellement a vrai ou faux les champs MECA, ADM et MONT, mais j'aurais voulu un bouton ou une zone de liste qui vienne m'ouvrir le formulaire avec les restrictions
    du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenForm "SF_planning", , , "[R_VACATION.ANALYSE CROISEE.MECA] <> Yes"
    DoCmd.OpenForm "SF_planning", , , "[R_VACATION.ANALYSE CROISEE.ADM] <> faux"
    peux-tu préciser si tu peux avoir un ou plusieurs choix ? par exemple avoir MECA et ADM ou ADM et MONT etc... et en supposant qu'un employé ne peut pas être les 3 à la fois ?!?

    Attention à ne pas mélanger les valeurs: dans les paramètres des fonctions il faut toujours utiliser l'anglais: False et non pas Faux
    si je mets ce code jen'ai aucune erreur mais il ne prend rien en considération
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "F_PLANNING", , , "[R_vacation_analyse_croisée.MECA] <> Yes"
    tes crochets entourent la table et le champ, du coup la commande Openform ignore la condition
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "F_PLANNING", , , "[R_vacation_analyse_croisée].[MECA] <> Yes"
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #5
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    Bonjour

    et merci de ton aide une fois de plus

    pour répondre a tes questions
    oui un employé peut etre MECA et ADM , ADM et MONT etc...

    concernant celà je l'ai mis sur un bouton mais Il n'en tient pas compte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "F_PLANNING", , , "[R_vacation_analyse_croisée].[MECA] <> Yes"
    merci

    cordialement
    A star is dead

  6. #6
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    par contre si je mets manuellement dans les critères de la requete "<>vrai " pour le champ MECA il affiche bien tout le monde sauf les MECA

    les champs MECA, ADM et MONT se trouve dans le sous formulaire SF_PLANNING
    A star is dead

  7. #7
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    depuis le début, je me plante: tu ne peux pas appliquer une condition d'ouverture à un sous-formulaire à l'ouverture du formulaire principal ...
    il faut agir sur la source du sous-formulaire comme ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SF_planning.Form.RecordSource = "SELECT * FROM [R_vacation_analyse_croisée] WHERE [MECA] <> Yes"
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  8. #8
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    merci TEE GRANDBOIS

    celà fonctionne mais si j'ai un employé qui fait MECA et MONT ou autres voir les 3 case a cocher , si je mets celà il disparait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SF_planning.Form.RecordSource = "SELECT * FROM [R_vacation_analyse_croisée] WHERE [MECA] <> Yes"
    A star is dead

  9. #9
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    j'ai mis celà et l'employé apparait bien mais je vais avoir multiples combinaisons ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SF_Planning.Form.RecordSource = "SELECT * FROM [R_vacation_analyse_croisée] WHERE [MECA] <> YES OR [ADM]<>false"
    A star is dead

  10. #10
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    je m'y attendais un peu au vu d'une de tes réponses précédentes:
    pour répondre a tes questions
    oui un employé peut etre MECA et ADM , ADM et MONT etc...
    il va donc falloir remplacer tes boutons par 3 cases à cocher pour avoir toutes les combinaisons possibles mais pour le moment je suis en train de réfléchir au code qui irait bien...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  11. #11
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    Citation Envoyé par lio62 Voir le message
    j'ai mis celà et l'employé apparait bien mais je vais avoir multiples combinaisons ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SF_Planning.Form.RecordSource = "SELECT * FROM [R_vacation_analyse_croisée] WHERE [MECA] <> YES OR [ADM]<>false"
    personnellement, j'aurais mis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SF_Planning.Form.RecordSource = "SELECT * FROM [R_vacation_analyse_croisée] WHERE [MECA] <> True AND [ADM]=True and [MONT]=True"
    non ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  12. #12
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    J'ai mis = a la place de <> c'est impeccable

    mais comment puis je faire si je veux afficher à nouveau tout le planning sans en sortir SVP
    et qu'il me trie sur les noms ?
    A star is dead

  13. #13
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    Merci TEE GRANDBOIS,

    as tu vu mon message précedent pour revenir au planning complet ?

    et comment peut on trier les noms par ordre alphabetique ?
    A star is dead

  14. #14
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    j'ai mis celà pour le tri et ca fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SF_Planning.Form.RecordSource = "SELECT * FROM [R_vacation_analyse_croisée] WHERE [DCSP] = YES ORDER BY [R_Vacation_analyse_croisée].NOM_PRENOM"
    mais je n'ai pas encore trouvé pour revenir sur tout le planning sans en sortir
    A star is dead

  15. #15
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    Citation Envoyé par lio62 Voir le message
    Merci TEE GRANDBOIS,

    as tu vu mon message précedent pour revenir au planning complet ?

    et comment peut on trier les noms par ordre alphabetique ?
    pour ça, j'ai besoin que tu postes tout le code que tu utilises actuellement ... c'est toujours des boutons qui mettent à jour les données du sous-formulaire ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  16. #16
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    je viens de trouver celà pour revenir au planning entier celà fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.SF_Planning.Form.RecordSource = "SELECT * FROM [R_vacation_analyse_croisée]"
    A star is dead

  17. #17
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    un grand merci encore et toujours

    juste une question subsidiaire est il possible lorsque le planning MECA est actif par exemple, que le bouton change de couleur ?

    et après je mets résolu.

    tu m'as encore bien aidé

    cordialement
    A star is dead

  18. #18
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    oui, il faut changer de type de bouton et prendre bouton bascule

    Nom : frm_btnBascule.JPG
Affichages : 38
Taille : 18,4 Ko
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  19. #19
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    sinon, la solution avec des cases à cocher sur laquelle je travaillais était simple (et le code également):

    Nom : _0.JPG
Affichages : 40
Taille : 33,6 Ko



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub btnSearch_Click()Dim strRowSource As String
    Dim strWhere As String
     
    strWhere = "WHERE [MECA]= Not(" & Me.CcMeca & ") AND [ADM]= Not(" & Me.CcAdm & ") AND [MONT] = Not (" & Me.CcMont & ")"
     
    strRowSource = "SELECT * FROM R_VACATION_ANALYSE_CROISEE " & strWhere & " ORDER by NOM_PRENOM"
     
    Me.Liste1.RowSource = strRowSource
     
    End Sub
     
    Private Sub btnSearch2_Click()
    Me.Liste1.RowSource = "SELECT * FROM R_VACATION_ANALYSE_CROISEE ORDER by NOM_PRENOM"
    End Sub
    il faut juste remplacer Me.Liste1.RowSource par Me.SF_Planning.Form.RecordSource car j'ai utilisé une liste et pas un sous-formulaire et changer le nom des boutons si besoin.

    L'avantage, si une coche de plus apparait dans la table, c'est plus simple à maintenir
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  20. #20
    Membre régulier Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Points : 101
    Points
    101
    Par défaut
    superbe

    merci pour tout
    A star is dead

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/12/2021, 14h41
  2. [AC-2007] Filtrer un sous formulaire de planning
    Par maximilien59 dans le forum IHM
    Réponses: 3
    Dernier message: 04/04/2013, 18h38
  3. Plan type d'un document de spécification
    Par ludovic.fernandez dans le forum Test
    Réponses: 3
    Dernier message: 06/12/2002, 17h36
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. changer l'image d'arrière plan du bureau
    Par etenclin dans le forum MFC
    Réponses: 7
    Dernier message: 22/08/2002, 15h54

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