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 :

[vb6] recuperation des champs par un listbox


Sujet :

VB 6 et antérieur

  1. #1
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut [vb6] recuperation des champs par un listbox
    salut j'ai fait un truc mai s le proble c que ca ne marche pas comme je le voudrai j'ai une liste de nom dans un champ listbox et des que je selectionne sur un des ces nom tout ce qui concrerne ce dernier doivent mettre automatiquement remplie dans plusieurs champs text
    voici ce que j'ai fais
    il me prend en compte seulement le premier enregistrement
    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
    22
     
    Set db1 = OpenDatabase("prodect.mdb")
    Set rs1 = db1.OpenRecordset("Intervenants", dbOpenTable)
    If txtrefinter = "" Then
    MsgBox "Aucun enregistrement à supprimer", vbExclamation
    Else
        MsgBox ("Suppression éffectuée ...")
        rs1.Delete
        'rs1.MoveNext
        If rs1.EOF = False Then
            'rs1.MoveNext
            txtrefinter = ""
            txtnominter = ""
            txtprenominter = ""
            txtfonctioninterv = ""
            txttauxinter = ""
            While Not rs1.EOF
                List1.AddItem rs1("Ref intervenants")
            Wend
     
        End If
    End If

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    c'est le bon code ..? il n'as pas l'air de correspondre à sa decription ..

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut [vb6] recuperation des champs par un listbox
    c'est le bon code c ca le pire ta une solutio pour m'aider?

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    il est lancé quand ce code... ? à priori il ne sert pas à remplir des textbox... mais à effacer un enregistremet de ta base.. et à remplir une liste box...

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut [vb6] recuperation des champs par un listbox
    excuse moi mais ce code correspond a un effacement d'un enregistrement mais il ne realimente pas mon listebox

    le probleme precedent voici le code por ce probleme
    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
    22
     
     
    Private Sub List1_Click()
    Set db1 = OpenDatabase("prodect.mdb")
     
    Set rs1 = db1.OpenRecordset("Intervenants", dbOpenTable)
     
    txtrefinter = rs1("Ref intervenants")
    txtnominter = rs1("nom")
    txtprenominter = rs1("prenom")
    txtfonctioninterv = rs1("Fonction")
    txttauxinter = rs1("Taux")
    cmdvalid.Enabled = False
    Cmdnew.Enabled = True
    cmdsupp.Enabled = True
    txtrefinter.Enabled = False
    txtnominter.Enabled = False
    txtprenominter.Enabled = False
    txtfonctioninterv.Enabled = False
    txttauxinter.Enabled = False
     
    End Sub

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ben dans ce code tu n'utilise nulle part la valeur de ta listbox... positionne toi d'abords sur le bon enregistrement avant de l'afficher...

  7. #7
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut [vb6] recuperation des champs par un listbox
    c normal que je n'utilise pas list...
    car le code precedentcorrespond au control listbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub List1_Click()
    Set db1 = OpenDatabase("prodect.mdb")
    Set rs1 = db1.OpenRecordset("Intervenants", dbOpenTable)

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par lumbroso
    c normal que je n'utilise pas list...
    car le code precedentcorrespond au control listbox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub List1_Click()
    Set db1 = OpenDatabase("prodect.mdb")
    Set rs1 = db1.OpenRecordset("Intervenants", dbOpenTable)
    j'ai bien compris que ce code été exécuté à chaque clic sur ta list1.. mais si tu ne tient pas compte de la valeur de celle-ci .. comment ve tu que les données de tes textbox coresponde à la sélection effectuée dans la listbox...

    essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set rs1 = db1.OpenRecordset("select * from Intervenants where [Ref intervenants]='" & list1.txt & "'")

  9. #9
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut marche pas
    ca ne marche il me met l'erreur sur :
    l'erreur est 3021 pas d'enregistrement et pourtant il y a des enregistrements j'avais utiliser cette ligne de code au paravant mais je croyais que c'etait une erreur de ma part

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    affiche la valeur de List1.text dans un Msgbox, histoire d'être sur qu'il contient la bonne valeur... le champ
    Ref intervenants est-il bien un champ texte..? (en passant c'est pas terrible les espaces dans un nom de champ..)

    sinon essai de mettre ta base en piéce jointe (une fois zippée..)



  11. #11
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut envoi du fichier pour un apprecu merilleur
    comme tu me l'as demander je t'envoi le fichier ainsi qu'une table ou figure les information desire
    merci de m'aider

  12. #12
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    bon j'ai pas VB6, ici .. mais j'ai testé sous excel et le code suivant fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub List1_Click()
    Set db1 = OpenDatabase("F:\tmp\travail vb\prodect.mdb")
    Set rS1 = db1.OpenRecordset("select * from Intervenants where [Ref intervenants]='" & List1.Text & "'")
    Debug.Print rS1("Ref intervenants")
    Debug.Print rS1("nom")
    Debug.Print rS1("prenom")
    Debug.Print rS1("Fonction")
    Debug.Print rS1("Taux")
    End Sub

    je ne vois pas d'ou viens ton probléme...

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 169
    Points
    17 169
    Par défaut
    List1.text contient 4 champs
    Proposition:
    dans "Private Sub List1_Click()" inserer le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Rech, RefRech As String
    Dim T As Integer
    Rech = ""
    For T = 1 To Len(List1.List(List1.ListIndex))
     If Asc(Mid$(List1.List(List1.ListIndex), T, 1)) = 9 Then 'vbTab
      Exit For
      Else
      Rech = Rech & Mid$(List1.List(List1.ListIndex), T, 1)
     End If
    Next T
    'Set rs1 = db1.OpenRecordset("select * from Intervenants where [Ref intervenants]='" & List1.Text & "'")
    On Error Resume Next
    Set rs1 = db1.OpenRecordset("select * from Intervenants where [Ref intervenants]='" & Rech & "'")
    If Err.Number <> 0 Then Exit Sub
    Attention si plus d'un "Ref intervenants" peuvent prendre la même valeur,
    le premier enregistrement remplirat les TextBoxs.

    Salut

    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut merci progelect
    merci men mais j'ai pas trop compris ce que tu as fais pour que ca marche je serai interesse de savoir pour ca na pas marcher avec ce que j'ai fait .
    entout cas merci ca marche comme sur des roulettes

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

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 169
    Points
    17 169
    Par défaut
    Salut

    Lors du remplissage de la listbox, chaque ligne est remplis avec 5 champs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     List1.AddItem rs1("Ref intervenants") & vbTab & rs1("nom") & vbTab & _
    rs1("prenom") & vbTab & rs1("Fonction") & vbTab & rs1("Taux")
    Au moment du "List1_Click()", la condition d'ouverture ne fait reference qu'au champs Ref intervenants,
    alors que List1.List(List1.ListIndex) contient les champs :
    rs1("Ref intervenants") & vbTab & rs1("nom") & vbTab & rs1("prenom") & vbTab & rs1("Fonction") & vbTab & rs1("Taux").

    a la rigueur il faudrait ouvrir avec :
    where [Ref intervenants]= Rech1 and [nom]= Rech2
    and [prenom]= Rech3 and [Fonction]= Rech4 and [Taux]= Rech5....

    Rech1, Rech2, Rech3, Rech4 , Rech5 ayant ete extrait de List1.List(List1.ListIndex).

    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. [VB6] gestion des feuilles par des onglets
    Par kitsune dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/02/2006, 16h17
  2. Réponses: 1
    Dernier message: 16/01/2006, 17h36
  3. [débutant]Desactiver des champs par rapport a un select
    Par Pymm dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/02/2005, 16h24
  4. [VB6] recuperer des valeurs ds un tableau html avec vb!!
    Par leo13 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/12/2004, 13h02
  5. [VB6] récuperation des propriétés d'un fichier exe
    Par ulrick dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 26/03/2004, 00h08

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