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 :

atteindre un enregistrement contenu dans des zones de liste


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 65
    Points
    65
    Par défaut atteindre un enregistrement contenu dans des zones de liste
    Bonjour,

    J’ai un formulaire présentant les noms des AOC (clé : NumAppellation). Ce formulaire contient une 1ère zone de liste qui détaille les climats de chaque AOC (clé : NumAppellationComplete) ; et une 2ème zone de liste (type de vin) dont les enregistrements dépendent de la 1ère zone de liste (clé : NumVin).
    Et pour finir un sous-formulaire dont les enregistrements dépendent de la valeur sélectionnée de la 2ème zone de liste

    Je souhaiterais à partir d’un autre formulaire contenant les info nécessaires (NumAppellation, NumAppellationComplete et NumVin) ouvrir mon formulaire et atteindre l’enregistrement souhaité. Mais pour cela il faut entrer un code, d’une part qui ouvre le formulaire, atteint le NumAppellation souhaité (jusque là pas de pb je sais faire avec la FAQ) puis sélectionne le NumAppellationComplete de la zone de liste 1, puis le NumVin de la zone de liste 2 (ce qui fera apparaître mon sous-formulaire) = c’est là que cela se complique.

    Merci de votre aide

  2. #2
    Membre habitué

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 155
    Points : 196
    Points
    196
    Par défaut
    Bonjour,

    Une solution possible pour sélectionner une ligne d'une zone de liste : regarde quelle est la valeur de sa propriété "colonne liée" (par défaut c'est 1) et affecte à ta zone de liste la valeur du champ de la colonne liée qui correspond à la ligne que tu veux sélectionner. Si, dans ton cas, la colonne liée correspond au champ NumAppelation, donne à ta zone de liste la valeur de NumAppelation que tu veux sélectionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MaZoneDeListe = Valeur désirée de NumAppelation

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    893
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 893
    Points : 833
    Points
    833
    Par défaut Autres possibilités
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ZoneDeListe.ListIndex = n°OrdreDansLAListe
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ZoneDeListe.ItemData(n°OrdreDansLaListe)

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 124
    Points : 65
    Points
    65
    Par défaut
    Bonjour,

    Bon je réédite mon post.

    Le code ci-dessous me permet d'ouvrir mon formulaire :

    Voici mon Code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Appellation_DblClick(Cancel As Integer)
        Dim MonCritère As String
            MonCritère = "[NumAppellation] =" & Forms![frm_Appellation].Form![ssfrmAppellationListe]![NumAppellation]
            DoCmd.OpenForm "frm_AppellationDetailTri", acNormal, , , , acWindowNormal, MonCritère
        Forms("frm_AppellationDetailTri").PreviousForm = "frm_Appellation"
        DoCmd.Close acForm, "frm_Appellation", acSaveYes
        DoCmd.Maximize
    End Sub

    Le problème vient de comment faire pour atteindre mon enregistrement souhaité en passant par mes 2 zones de listes.

    Je suppose que je dois préalablement définir mes valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Appellation_DblClick(Cancel As Integer)
        Dim MonCritère As String
            MonCritère = "[NumAppellation] =" & Forms![frm_Appellation].Form![ssfrmAppellationListe]![NumAppellation]
        Dim MonCritère1 As String
            MonCritère1 = Forms![frm_Appellation].Form![ssfrmAppellationListe]![NumAppellationComplete]
        Dim MonCritère2 As String
            MonCritère2 = Forms![frm_Appellation].Form![ssfrmAppellationListe]![NumVin]
        DoCmd.OpenForm "frm_AppellationDetailTri", acNormal, , , , acWindowNormal, MonCritère
        Forms("frm_AppellationDetailTri").PreviousForm = "frm_Appellation"
        ....
    mais la suite me semble très floue en sachant que :
    lst1 contient monCritère1 et
    lst2 contient monCritère2 (qui définira l'enregistrement souhaité).

    Merci de votre aide

Discussions similaires

  1. [AC-2007] Atteindre un enregistrement à partir d'une zone de liste
    Par benoistv dans le forum IHM
    Réponses: 2
    Dernier message: 24/10/2014, 09h24
  2. [AC-2010] Calculs de colonnes dans des zones de liste
    Par Serod dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/11/2011, 15h33
  3. [AC-2003] Condition sur des dates contenues dans une zone de liste
    Par mploki dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/05/2011, 14h41
  4. Réponses: 3
    Dernier message: 07/04/2011, 14h38
  5. contrôle des zones de liste dans formulaire
    Par philpaul dans le forum IHM
    Réponses: 4
    Dernier message: 25/11/2005, 23h28

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