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 :

Actualisation zone de liste par recherche multi-critere dans sous formulaire [AC-2002]


Sujet :

IHM

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 163
    Points : 60
    Points
    60
    Par défaut Actualisation zone de liste par recherche multi-critere dans sous formulaire
    Bonjour à tous ,

    Je suis un grand débutant sous access et suis "coincé" dans l'appli que ce j'essai de monter (un grand merci par avance pour votre aide).

    Dans un sous formulaire j'ai 3 listes modifiables "en cascade" me permettant :
    1- d'alimenter les champs de ma table liée au sous formulaire,
    2- de filtrer une autre table .

    liste1: nom commune ( critère 1)
    liste 2: type établissement ( critère 2)
    liste 3: nom de l'établissement ( choix dans la liste, du nom recherché par l'utilisateur)

    Pour ma liste 3 (modifiable24), la requête SQL suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT 
    Table_etab.id_etab, Table_etab.nom_etab, Table_etab.id_commune, Table_etab.id_type_etab FROM [Table_type _etab] INNER JOIN (Table_commune INNER JOIN Table_etab ON Table_commune.id_commune=Table_etab.id_commune) ON [Table_type _etab].id_type_etab=Table_etab.id_type_etab 
    WHERE 
    (((Table_etab.id_commune)=Forms!Form_eleve!SForm_sco!Crit1_nom_etab) And ((Table_etab.id_type_etab)=Forms!Form_eleve!SForm_sco!Crit2_nom_etab));
    Je pense que j'ai un soucis sur le VBA mais je n'arrive pas à l'identifier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    Option Compare Database
     
    Private Sub id_annee_scolaire_AfterUpdate()
    Me.Requery
    End Sub
     
    Private Sub Crit1_nom_etab_AfterUpdate()
     
    Modifiable24.RowSource = "SELECT Table_etab.id_etab, Table_etab.nom_etab, Table_etab.id_commune, Table_etab.id_type_etab FROM [Table_type _etab] INNER JOIN (Table_commune INNER JOIN Table_etab ON Table_commune.id_commune = Table_etab.id_commune) ON [Table_type _etab].id_type_etab = Table_etab.id_type_etab WHERE (((Table_etab.id_commune)=[Forms]![Form_eleve]![SForm_sco]![Crit1_nom_etab]) AND ((Table_etab.id_type_etab)=[Forms]![Form_eleve]![SForm_sco]![Crit2_nom_etab]));"
     
    Me.Crit1_nom_etab.Requery
    End Sub
     
    Private Sub Crit2_nom_etab_AfterUpdate()
     
    Modifiable24.RowSource = "SELECT Table_etab.id_etab, Table_etab.nom_etab, Table_etab.id_commune, Table_etab.id_type_etab FROM [Table_type _etab] INNER JOIN (Table_commune INNER JOIN Table_etab ON Table_commune.id_commune = Table_etab.id_commune) ON [Table_type _etab].id_type_etab = Table_etab.id_type_etab WHERE (((Table_etab.id_commune)=[Forms]![Form_eleve]![SForm_sco]![Crit1_nom_etab]) AND ((Table_etab.id_type_etab)=[Forms]![Form_eleve]![SForm_sco]![Crit2_nom_etab]));"
     
    Me.Crit2_nom_etab.Requery
    End Sub
     
    Private Sub Modifiable24_AfterUpdate()
     
    Modifiable24.RowSource = "SELECT Table_etab.id_etab, Table_etab.nom_etab, Table_etab.id_commune, Table_etab.id_type_etab FROM [Table_type _etab] INNER JOIN (Table_commune INNER JOIN Table_etab ON Table_commune.id_commune = Table_etab.id_commune) ON [Table_type _etab].id_type_etab = Table_etab.id_type_etab WHERE (((Table_etab.id_commune)=[Forms]![Form_eleve]![SForm_sco]![Crit1_nom_etab]) AND ((Table_etab.id_type_etab)=[Forms]![Form_eleve]![SForm_sco]![Crit2_nom_etab]));"
     
    Me.Modifiable24.Requery
    End Sub
     
     
     
    Private Sub Modifiable24_Change()
     
    Modifiable24.RowSource = "SELECT Table_etab.id_etab, Table_etab.nom_etab, Table_etab.id_commune, Table_etab.id_type_etab FROM [Table_type _etab] INNER JOIN (Table_commune INNER JOIN Table_etab ON Table_commune.id_commune = Table_etab.id_commune) ON [Table_type _etab].id_type_etab = Table_etab.id_type_etab WHERE (((Table_etab.id_commune)=[Forms]![Form_eleve]![SForm_sco]![Crit1_nom_etab]) AND ((Table_etab.id_type_etab)=[Forms]![Form_eleve]![SForm_sco]![Crit2_nom_etab]));"
     
    Me.Modifiable24.Requery
    End Sub
    Donc ma liste 3 ne se met pas à jour quand Crit 1 ou 2 change et quand on change d'enregistrement dans le formulaire "père" ou sous formulaire "fils".

    En espérant avoir été compréhensible...

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Voici un petit tuto exemple de recherche multicritères qui reprend l'enchainement des listes déroulantes.

    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 163
    Points : 60
    Points
    60
    Par défaut
    Bonjour Jeannot45 et merci,

    Le "petit" tuto en question, je l'ai lu plus d'une fois... mais cela me parait hyper complexe ( d'autant que je suis loin de maitriser le vba et par ailleurs mes listes filtrantes appartiennent à mon sous form ). Je m'étais inspiré d'une autre réponse ( voir ici) mais visiblement sans succès...

    En PJ une vue ecran du sous form en question.

    Si vous aviez une piste plus simple à me proposer ... ?

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 163
    Points : 60
    Points
    60
    Par défaut
    Bonjour,

    J'ai fini par résoudre partiellement mon pb. Il se situait bien sur l'actualisation de ma zone de liste 3 après enregistrement . Voici le tuto qui m'a mis sur la bonne voie : cliquez ici.

    Pour autant j'ai un autre petit soucis: sur nouvel enregistrement les enregistrements précédents de la ZL 3 "disparaissent" ( ne sont plus visibles ) sauf à revenir en arrière à l'aide d'un controle d'enregistrement du sous form.

    Voici le code utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Option Compare Database
     
    Private Sub id_annee_scolaire_AfterUpdate()
    Me.Requery
    End Sub
     
    Private Sub Crit1_nom_etab_AfterUpdate()
    Me.Modifiable24 = Null
      Me.Modifiable24.Requery
      Me.Modifiable24 = Me.Modifiable24.ItemData(0)
    End Sub
     
     
     
    Private Sub Crit2_nom_etab_AfterUpdate()
    Me.Modifiable24 = Null
      Me.Modifiable24.Requery
      Me.Modifiable24 = Me.Modifiable24.ItemData(0)
    End Sub
     
     
    Private Sub Form_Current()
    Me.Modifiable24.Requery
    End Sub
     
    Private Sub Modifiable24_AfterUpdate()
     
    End Sub
    Si vous avez une petite idée de ce qui cloche, je suis plutôt preneur...

    Cordialement .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Filtre Multi critères sur zone de liste par zone de texte
    Par yieiyiei dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/02/2015, 13h38
  2. Réponses: 0
    Dernier message: 29/01/2010, 09h11
  3. recherche multi-critères dans un formulaire de recherche
    Par sam1975 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/08/2009, 18h12
  4. recherche multi critere par procédure évenementielle
    Par chrisaccess dans le forum VBA Access
    Réponses: 10
    Dernier message: 21/03/2008, 21h36
  5. Recherche Multi-criteres dans un formulaire
    Par valery17 dans le forum Access
    Réponses: 6
    Dernier message: 22/05/2006, 16h17

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