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

VBA Access Discussion :

Affichage dans une zone de liste


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut Affichage dans une zone de liste
    Bonjour,

    Je souhaiterais connaître les différentes méthodes pour afficher des valeurs dans une zone de liste( et non pas une zone de liste modifiable ou menu déroulant)

    Mon programme consiste en gros :

    - Effectuer une requete pour trier des références en fonction d'un critére
    - Verifier que cette référence existe dans un dossier
    - Afficher les références existantes dans une zone de liste

    J'utilise la méthode : zonedeliste.rowsource = zonedeliste.rowsource & "références" dans une boucle pour afficher mes références que je trouve. Mais zonedeliste.rowsource ne permet d afficher qu une quantité limitée de références (je me retrouve, dans certain choix de critéres, avec l erreur 2176 : le paramétre de cette propriété est trop long ).
    J ai pensé à rentrer mes références dans un tableau mais je ne trouve pas comment afficher un tableau, une fois celui ci rempli, dans une zone de liste.


    Merci de votre aide.

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

    As-tu pensé à alimenter ta zone de liste par une requête ?

    Starec

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    Oui, mais je ne vois pas comment faire car apres ma requete je verifie l'existence de chaque resultat dans un dossier, et si un resultat existe je l affiche dans la zone de liste et ainsi de suite jusqu a ce que tous soient affichés. Chose qui fonctionne si je n ai pas trop de resultats avec la méthode rowsource.
    rowsource à l'air de stocker le contenu sur une seule ligne (même si ça l'affiche en colonne avec un ";" entre chaque résultat ).

    On pourrait aussi mettre les résultats trouvés un à un dans une table temporaire (mais je n'y arrive pas non plus) afin de lister cette table dans la zone de liste.

  4. #4
    Expert confirmé
    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Par défaut
    Bjr,

    Voir dans l'aide, il est possible de mettre une fonction en type de la source de données.
    C'est particulier mais c'est bien expliqué dans l'aide avec un exemple.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    Merci mais l'aide ne fonctionne pas chez moi

    J'ai finalement réussi à rentrer mes résultats dans une table temporaire (avec INSERT INTO table_tmp VALUES résultat) et j'affiche ensuite cette table dans la zone de liste.

    Par contre j'ai un problème de sélection dans la zone de liste soit je n arrive pas à prendre la 1ere valeur soit la dernière, en gros j'arrive pas à régler ma boucle.

    Voici mon code (qui est censé me permettre de parcourir la zone de liste 1 , de fouiller sur le disque s'il trouve les fichiers et de les afficher dans une autre zone de liste quand il trouve ces derniers) dans le cas ou il prend la premiere valeur de la 1ere zone de liste mais pas la derniere :

    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
     
     
    ...
    cpt = 0
     
    Do While Not zonedeliste1.ItemData(zonedeliste1.ListCount - 1) = zonedeliste1.ItemData(cpt)
     
     
    For Each sousdossier In dossier.SubFolders
    chemin = sousdossier.Path & "\links\"
    If fso.FileExists(chemin & zonedeliste1.ItemData(cpt) & ".eps") Then
    zonedeliste2.RowSource = zonedeliste2.RowSource & zonedeliste1.ItemData(cpt) & ";"
    GoTo 100
    End If
     
    Next sousdossier
    100
    cpt = cpt + 1
     
    Loop
    ....
    Vala vala si ca vous saute au yeux je suis pas contre de l'aide . Si je mets cpt à 1 , il prend la derniere valeur de la zonedeliste1 mais pas la premiere forcément ^^

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 12
    Par défaut
    Il suffisait d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Do While Not zonedeliste1.ItemData(zonedeliste1.ListCount - 1) < zonedeliste1.ItemData(cpt)


    Merci pour l'aide.

    A+

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

Discussions similaires

  1. Problème d'affichage dans une zone de liste
    Par wood_phil dans le forum IHM
    Réponses: 1
    Dernier message: 26/09/2008, 00h25
  2. Réponses: 1
    Dernier message: 28/05/2008, 23h03
  3. Réponses: 14
    Dernier message: 21/03/2008, 19h21
  4. Réponses: 2
    Dernier message: 27/06/2007, 14h18
  5. Affichage des valeurs disponibles dans une zone de liste déroulante
    Par azerty dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/06/2007, 12h29

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