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

VB 6 et antérieur Discussion :

recuperation d'un champ listbox[vb]


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut recuperation d'un champ listbox[vb]
    Bonjour,

    Voici le code que je viens de faire il marche mais que sur le premier enregistrement il ne prend pas en compte les autres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim db As Database 
    Dim rs As Recordset  
    Set db = OpenDatabase("g:\facturation\facture.mdb") 
    Set rs = db.OpenRecordset("clients", dbOpenTable)
    Frmfacture.cmdfacrefclt.Text = rs("numclt")
    Frmfacture.cmdfacnomclt.Text = rs("nomclt")
    Frmfacture.cmdfacprenomclt.Text = rs("prenomclt")
    Merci

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Ado: comment récupérer les données depuis une bd? message n°2.
    Employer un ListBox ou un ComboBox, faire une boucle en utilisant ComposantList.Additem.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    salut
    le probleme est que je suis en DAO
    tu peux me corriger le code?

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par Titre de la discussion
    recuperation d'un champ listbox[vb]
    Pour répondre exactement au titre,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VarRecup = ListBox.List(ListBox.listIndex)
    Par contre il semble que le titre devrait être Remplir un ListBox avec les champs d'une BD par DAO.
    Que cela soit en ADO ou DAO, les commandes sont les mêmes.

    Récupération des enregistrements (Set rs = db.OpenRecordset)
    Si il y a un/des enregistrements (If rs.Bof = False Then)
    Boucler de 1 à nombre d'enregistrements - 1 (For x = 1 To rs.RecordCount-1)
    Ajouter le/les champs (ListBox.Additem rs.Fields("name"))
    Avancer d'un enregistrement (rs.MoveNext)
    Retourner en debut de boucle (Next x)
    Fermer le recordset (rs.Close)
    Fin de la condition If (End If)
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    re bonjour,
    je crois que je me suis fais mal comprendre j'ai un listbox qui est deja alimenter en douclikan sur l'enregistrement desire je voudrai recuperer les champs du listbox pour les mettres dans 3 champs different nom,prenom, numclt
    j'ai toujours un message d'erreur qui est "compil error: syntax error"

    sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Frmfacture.cmdfacrefclt.Text = Me.List1.AddItem rs("numclt")

    voici le code modifie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub List1_DblClick()
    Dim db As Database
    Dim rs As Recordset
     
    Set db = OpenDatabase("g:\facturation\facture.mdb")
    Set rs = db.OpenRecordset("clients", dbOpenTable)
     
    Frmfacture.Show
    Frmfacture.cmdfacrefclt.Text = Me.List1.AddItem rs("numclt")
    Frmfacture.cmdfacnomclt.Text = Me.List1.AddItem rs("nomclt")
    Frmfacture.cmdfacprenomclt.Text = Me.List1.AddItem rs("prenomclt")
    End Sub

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Je n'utilise pas DAO mais ADO, pour autant il me semble que ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Frmfacture.cmdfacrefclt.Text = Me.List1.AddItem rs.Fields("numclt")
    doit être juste.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  7. #7
    vb
    vb est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 83
    Par défaut
    Bonsoir
    Lorsque tu charge ta listBox quelle que sois ado ou dao tu dois marquer ton enregistrement comme unique comme dans cet exemple, avec ItenData et NewIndex!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Set rsListeClient = Bd.OpenRecordset("select Nom,Prénom,Code_Clients from Clients  order by Nom")
    While Not rsListeClient.EOF
        lstClients.AddItem rsListeClient![Nom] & Chr(9) & rsListeClient![Prénom]
        lstClients.ItemData(lstClients.NewIndex) = rsListeClient![Code_Clients]'numéro unique !!
        rsListeClient.MoveNext
    Wend
    rsListeClient.Close
    dans l'événement click de ta ListBox... tu récupéres le numéros unique comme ceci , lCodeClient à déclarer en public dans un module, cela te serviras partout et après!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lCodeClient= lstClients.ItemData(lstClients.ListIndex)
    Ensuite lors du double click tu récupéres les données [Code_Clients]ici) unique de ce clients....facture...à toi de voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim strPointerClient As String
    strPointerClient = "select * from Clients Where code=" & CStr(lCodeClient)
    Set rsClients = Bd.OpenRecordset(strPointerClient, dbOpenDynaset)
    Je donnes simplement un chemin à suivre à toi d'adapter
    vb

  8. #8
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    salut

    meme apres ce que tu m'a dit j'ai changer mon code en l'adaptant a ce mon application j'ai la meme a la meme ligne syntax error
    je vous met en pj une partie de mon projet avecv son code d'origine car meme avec l'ancien code ca ne marche pas je vous remerci
    Fichiers attachés Fichiers attachés

  9. #9
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Merci de joindre des archives au format zip, reconnu par TOUS les PC équipés de Windows, à l'inverse du format rar.

  10. #10
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim strPointerClient As String
    strPointerClient = "select * from Clients Where code='" & CStr(lCodeClient) & "'"
    Set rsClients = Bd.OpenRecordset(strPointerClient, dbOpenDynaset)
    Ne vaut il pas les apostrophes puisque c'est un STRING
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    vb
    vb est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 83
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim strPointerClient As String
    strPointerClient = "select * from Clients Where code='" & CStr(lCodeClient) & "'"
    Set rsClients = Bd.OpenRecordset(strPointerClient, dbOpenDynaset)
    Ne vaut il pas les apostrophes puisque c'est un STRING
    Bonsoir ProgElect
    Je me permet de revenir sur ton dernier post ci dessus, d'accord que celà est un String dans mon exemple, ici lCodeClient moi je remplace la chaine de caractère en convertissant ma variable avec la fonction Cstr...donc "& CStr(lCodeClient) fonctionne , je trouve mon code plus clair! Cela est juste un point de vue.Car si ont met les apostrophes ont vas tout droits à l'erreur de syntaxe !ou alors retirer la fonction Cstr...
    Bien à toi
    vb

  12. #12
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Citation Envoyé par OhMonBato Voir le message
    Merci de joindre des archives au format zip, reconnu par TOUS les PC équipés de Windows, à l'inverse du format rar.
    moi non plus je n'ai pas installé de logiciel qui sait ouvrir/créer des .RAR.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  13. #13
    vb
    vb est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 83
    Par défaut
    Bonjour,
    Juste remarque ProgElecT , autant pour moi
    vb

  14. #14
    Membre éclairé Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Par défaut
    bonjour
    encore un probleme je pete un cable voici le code corrige
    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
    Private Sub List1_DblClick()
    Dim db As Database
    Dim rs As Recordset
    'Dim strPointerClient As String
    Set db = OpenDatabase("g:\facturation\facture.mdb")
    strPointerClient = "select * from Clients Where numclt='" & CStr(List1) & "'"
     
    Set rs = db.OpenRecordset(strPointerClient, dbOpenDynaset)
     
    'Set rs = db.OpenRecordset("clients", dbOpenTable)
    'Frmfacture.Show
    rs.MoveFirst
    Frmfacture.cmdfacrefclt.Text = rs("numclt")
    'Frmfacture.cmdfacnomclt.Text = ListBox.Additem rs.Fields("2")
    Frmfacture.cmdfacnomclt.Text = rs("nomclt")
    Frmfacture.cmdfacprenomclt.Text = rs("prenomclt")
    End Sub
    le code est le suivant error pas d'enregistrement en cours

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

Discussions similaires

  1. Paradox : Recuperer les Bases/Champs
    Par fredraoul dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/09/2006, 16h04
  2. Recuperation Nom des Champs d'une table
    Par Djekill dans le forum Access
    Réponses: 2
    Dernier message: 31/07/2006, 15h47
  3. [debutant] requete en vba et récuperation d'un champ
    Par Greg84 dans le forum Requêtes et SQL.
    Réponses: 18
    Dernier message: 29/07/2006, 00h05
  4. Recuperation d'un champ de type LONG
    Par elflamby dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/01/2006, 16h06
  5. Problème avec le recuperation d'un champ caché
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 08/12/2005, 13h20

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