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 :

Ajouter mes elements à ma listbox [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Par défaut Ajouter mes elements à ma listbox
    Bonjour,

    J'ai fait une connexion en ADO et je récupère les données mais je
    n'arrive pas à les intégrer dans ma ListBox.

    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
    Sub ADOOpenRecordset()
        Dim cnn As New ADODB.Connection, rst As New ADODB.Recordset, fld As ADODB.Field
        ' Ouverture de la connexion
     
        strSQL = "SELECT * FROM LeTest"
        Set cnn = CurrentProject.Connection
     
        ' Ouverture du Recordset en défilement en avant, et en lecture seule
        rst.Open "SELECT * FROM LeTest", cnn, adOpenForwardOnly, adLockReadOnly
        While (rst.EOF = False)
             Liste2.AddItem (rst.Fields.Item(0).Value)
             rst.MoveNext
        Wend
     
     
        ' Fermeture du Recordset
        rst.Close
    End Sub
    J'ai l'erreur Objet Requis sur la ligne AddItem, alos qu'en propriété le nom de ma listeBox est bien Liste2" Y aurait il un moyen de récupèrer la liste de mes objets crées pour pouvoir y accéder ?
    Merci de votre retour.

    cdlt

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 413
    Par défaut
    La seule méthode que je connaisse pour allimenter une liste sans passer par une requête ou une table est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        dim s as string
     
        While (rst.EOF = False)
             if s<>"" then
               s=s & ";"
             end if
     
             s=s & rst.Fields.Item(0).Value
             rst.MoveNext
        Wend
     
        me.liste2.RowSource=s
    C'est assez basic merci mais ça marche :-).

    Ne pas oublier : VBA c'est un langage de programmation procédurale (de la même famille que COBOL ou C) AVEC des objets. Ce n'est pas un VRAI langage objet comme VB.Net ou Java.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Par défaut
    Sauf que sur mon Access l'interpreteur ne comprend pas le Me.
    Je n'ai pas le point d'entrée pour accéder à la listbox présente sur mon formulaire.
    J'ai essayé avec les différents noms disponibles dans l'interface et je n'obtiens rien. Je n'ai pas de complétion du nom avec le "Me" non plus.
    Lorsque je mets 'Me' il met utilisaton incorrecte du mot clef Me.

    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
     
    Sub ADOOpenRecordset()
        Dim cnn As New ADODB.Connection, rst As New ADODB.Recordset, fld As ADODB.Field
        ' Ouverture de la connexion
        Dim s As String
        s = ""
        strSQL = "SELECT * FROM LeTest"
        Set cnn = CurrentProject.Connection
     
        ' Ouverture du Recordset en défilement en avant, et en lecture seule
        rst.Open "SELECT * FROM LeTest", cnn, adOpenForwardOnly, adLockReadOnly
        While (rst.EOF = False)
             s = s & rst.Fields.Item(0).Value
             rst.MoveNext
        Wend
     
        Me.liste2.RowSource = s
        rst.Close
    End Sub

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 413
    Par défaut
    Ok, désolé je pensais que le code était dans le formulaire qui contenait liste2. me. réfère à l'objet courrant.

    Si le formulaire est ouvert tu devrais pour faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [forms]![NomTomFormulaire]![Liste2].RowSource=s
    Je ne l'ai jamais fait mais cela devrait fonctionner.

    Au passage je t'invite à donner un nom plus significatif, liste2 cela ne révèle pas grand chose un truc du genre ListeCommande ou ListeAchat ou LîstePersonne apporte plus d'information quand au contenu de ta liste.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2003
    Messages
    604
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 604
    Par défaut
    Merci bien de l'info. Je suis en train de redécouvrir Access et je fais un peu des tests dans tous les sens.
    Bonne journée.

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

Discussions similaires

  1. ajouter un element à une ListBox
    Par leame dans le forum MFC
    Réponses: 20
    Dernier message: 02/07/2009, 15h20
  2. C# aspx vs2005 comment ajouter un element a ma listbox
    Par arioule dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/12/2006, 13h29
  3. [netbean 5 dev] comment ajouter Mes elements en visuel
    Par alain57 dans le forum NetBeans
    Réponses: 1
    Dernier message: 14/10/2005, 05h38
  4. Réponses: 5
    Dernier message: 18/01/2004, 16h25
  5. Réponses: 12
    Dernier message: 26/02/2003, 08h14

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