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 :

Tri sur formulaire grace à liste déroulante située en dehors


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Tri sur formulaire grace à liste déroulante située en dehors
    Bonjour à tous! Je suis nouveau sur le forum et sur Access.

    Je travaille à la réalisation d'une application pour mettre à jour entre autres des fiches produits.

    J'ai utilisé un formulaire de navigation avec onglets en haut et à droite. En haut il y a les formulaires de saisie, et à droite le formulaire des fiches produits ainsi que d'autres + quelques états.

    Initialement j'ai mis une liste déroulante sur mon formulaire fiche produit afin de trier et d'afficher la fiche correspondant au code produit sélectionné dans la liste déroulante. J'ai utilisé ce bout de code, ça fonctionne très bien:

    Private Sub Modifiable635_Click()

    Dim strwhere As String
    strwhere = "Code_produit = '" & Modifiable635 & "'"
    Me.Filter = strwhere
    Me.FilterOn = True
    End Sub

    Cependant je réalise maintenant le besoin de filtrer de la même manière d'autres formulaires, qui n'ont pas besoin de contenir cette liste déroulante. Je voudrais avoir cette liste directement sur le formulaire de navigation, de manière à ce qu'elle filtre tous les formulaires contenus dans mes onglets de droite en même temps.

    Et ça ben, je n'y arrive pas, malgré mes recherches ici et ailleurs.. Si quelqu'un à la solution, merci d'avance, j'espère avoir été clair, n'hésitez pas à me demander des précisions!

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Bonjour,

    il y a une solution relativement simple: stocker la valeur de filtre dans une variable temporaire, puis l'utiliser a l'ouverture d'une forme enfant


    tu peux conserver garder ton champ et sur sur l'evenement after update: setTempVar TV_Article=[ID] (la valeur de l'identifiant est stocke dans la variable temporaire)
    si c'est une liste, tu stockes TV_Article sur un evenemet onCurrent ou OnTimer toutes les secondes

    Ensuite sur le bouton de navigation tu enleve le nom de la forme enfant, et tu crees un evenement OnClic avec 2 commandes
    - On error resume next

    - BrowseTo
    Object Type: Form
    Object Name: [Nom de la forme enfant que tu veux afficher]
    Path To SubForm Control: [Nom de la forme de navigation].[nom de l'objet qui heberge les formes enfant]
    Where Condition= : ="[Article]=" & [TempVars]![TV_Article] si l'identifiant est un chiffre
    ou ="[Article]='" & [TempVars]![TV_Article] & "'" si l'identifiant est un texte

    ainsi la forme enfant apparaitra filtree

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour et merci pour votre réponse.

    J'ai essayé ce que vous proposez, mais je ne pense pas avoir vraiment compris.

    Mon champ dans lequel on sélectionne le code produit qui permettra de filtrer est bien une liste déroulante.

    1/ définition de la variable temporaire : j'ai écrit ça au début

    Private Sub Modifiable21_AfterUpdate()

    DefTempVar Code_produit = [ID]

    End Sub

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    oups erreur sur message précédent..
    J'ai donc ceci:

    Private Sub Modifiable21_AfterUpdate()
    DefTempVar Code_produit = [ID]
    End Sub

    après avoir écrit ceci lorsque je sélectionne un code produit dans la liste, j'ai un message d'erreur me renvoyant vers le code, surlignant en jaune DefTempVar et un point rouge se met devant le Private Sub. je ne sais vraiment pas comment régler ça.

    2/ récupérer la variable pour filtrer : j'ai créer un évênement sur clic sur le bouton d'onglet affichant mon formulaire des fiches produits. j'ai écris ceci:

    Private Sub BoutonNavigation129_Click()
    On Error Resume Next
    BrowseTo
    Object Type: Form
    Object Name: [FICHE PRODUIT version 2] 'Nom de la forme enfant que tu veux afficher'
    Path To SubForm Control: [Formulaire de navigation].[Formulaire de navigation]
    Where Condition = "[Code_produit]='" & [TempVars]![Code_produit] & "'" 'si l'identifiant est un texte'
    End Sub

    mais je n'ai pas compris ce que vous voulez dire par "[Nom de la forme de navigation]" et "[nom de l'objet qui heberge les formes enfant]" j'ai essayé plusieurs truc dont celui recopié ici mais...

    Et là encore j'ai un gros point rouge devant mon private sub.

    Je continue d'essayer de comprendre mais vraiment je trouve ça compliqué. Merci d'avance

Discussions similaires

  1. [AC-2010] Tri sur formulaire et liste déroulante
    Par electrosat03 dans le forum IHM
    Réponses: 6
    Dernier message: 05/08/2011, 03h16
  2. Réponses: 14
    Dernier message: 31/08/2010, 11h25
  3. [AC-2003] Tri sur formulaire par liste deroulante
    Par mat2424 dans le forum IHM
    Réponses: 5
    Dernier message: 13/12/2009, 09h43
  4. Réponses: 7
    Dernier message: 20/11/2008, 14h22
  5. Réponses: 7
    Dernier message: 24/01/2007, 22h54

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