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 :

Sélectionner un enregistrement d'une liste modifiable


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Points : 69
    Points
    69
    Par défaut Sélectionner un enregistrement d'une liste modifiable
    Bonjour,

    Une requête sert de source de données à une liste déroulante. Je sélectionne la ligne souhaitée par le code ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Dossard_Click()
        With Forms!Engagements
            X = .CoureursEngagésR.Controls("CodeCoureur")
            If IsNull(X) Then Exit Sub
            Critère = "[CodeCoureur]=" & X
            Set ListeCoureurs2 = MaBase.OpenRecordset("BDDCoureursR", dbOpenDynaset)
            ListeCoureurs2.MoveFirst
            ListeCoureurs2.FindFirst Critère
            .Nom = .Nom.ItemData(ListeCoureurs2.AbsolutePosition)
        End With
        'Engagements.LListeCoureurs
    End Sub
    Tout va bien lorsque dans la requête le nom est unique, mais lorsqu'il ya plusieurs fois le même nom qui se suivent (classement alpha), la liste se positionne systématiquement sur le premier, alors que le paramètre (AbsolutePosition) n'est pas le même suivant que je souhaite le premier ou le deuxième nom.

    J'y perds mon latin ou plutôt mon VBA

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Qu'y a-t-il dans la variable x ?
    Est-ce une donnée qui identifie un coureur unique ?

    Starec

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    Oui, il s'agit du code coureur qui est sans doublon dans la reqête
    En fait, j'obtiens bien 2 réponses différentes à "absoluteposition", une fois 297 une autre fois 298, mais dans les deux cas ma liste modifiable se positionne en 297.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 226
    Points : 261
    Points
    261
    Par défaut
    Ton problème vient du fait que la liste contient plusieurs noms identiques. Au moment de la sélection, le résultat retourné sera toujours le premier rencontré dans la liste .....

    Dans un premier temps, bien structurer la liste déroulante:
    une première colonne de largeur=0 (pour le masquer) qui serait en fait le ID du coureur, puis une deuxième contenant le nom du coureur.

    À la sélection, c'est la deuxième colonne qui sera afficher dans le contrôle, mais c'est la valeur de la première colonne (le ID) qui va servir de référence (ou encore de critère) et qui sera retourné.

    Pour te valider, faire des test avec un MsgBox dans l'événement Click de la liste déroulante. La valeur retourné doit correspondre au ID du coureur sélectionné.

    Bonne chance

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    Ok ça marche, j-ai changé la colonne associée par une colonne contenant la valeur x (sans doublon)

    Merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 172
    Points : 69
    Points
    69
    Par défaut
    Je viens de texter mon programme et cela provoque un inconvénient majeur:

    Le fait que la colonne visible ne soit pas la colonne liée, je ne peux plus donner la propriété "non limité à la liste" ce qui est rédibitoire dans mon cas
    J'utilise access 2000

    si tu a encore une idée

    merci d'avance

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/06/2014, 10h21
  2. Réponses: 8
    Dernier message: 05/03/2008, 12h50
  3. Réponses: 1
    Dernier message: 30/08/2007, 14h21
  4. Enregistrement à partir d'une liste modifiable
    Par guymar dans le forum Access
    Réponses: 2
    Dernier message: 23/12/2006, 17h45
  5. Réponses: 2
    Dernier message: 16/10/2004, 14h33

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