ListBox

Résolu
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

L'environnement est toujours VB6

Je ai essayé une ListBox à une seule colonne, pour y afficher les codes et les noms correspondants, dans un premier temps j'ai fais :

<code>Private Sub Form_Load() 


PoolConnection


'Code des Clients


SQLs = "select * from TableClts where Ste='" & CStr(VSte) & "'"

If RS.State = adStateOpen Then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

Do Until RS.EOF

ListeCodes.AddItem (RS![Code]  & "  " & RS![cLT])

RS.MoveNext

Loop

RS.Close


End sub
</code>

Jusqu'à maintenant c'est bien reçu, mais je cherche à travailler avec une ListBox à Deux Colonnes,
- la première à recevoir les codes
- la deuxième les noms.
Toute en visant, l'autre étape qui consiste à faire afficher le code et le nom dans des TextBox distincts d'une autre feuille qui s'affiche lors de la sélection d'une ligne de la ListBox.La tâche que je ne réussisse pas.
Merci pour toute aide pour :

- l'affichage sur les deux colonnes de la ListBox
-l'affichage du Code sur TextBox1, et du nom sur TextBox2 d'une autre Form bien sûr.

Configuration: Windows / Firefox 52.0

1 réponse

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    VB6.0, listbox: une seule colonne pas plus.
    Utiliser une listview
    0
    1. Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
       
      Bonjour

      Merci pour l'orientation, seulement, vu ma maîtrise médiocre du VB6, je n'arrivais pas à trouver la bonne astuce pour remplir ma ListView à partir de ma BD. J'ai essayé le code ci-dessous et m'a donné, et les codes et les noms dans la même colonne. je n'arrivais pas à placer les noms dans la deuxième colonne.

      Merci d'avance pour votre aide.





      Private Sub Form_Load()



      With ListeCodes.ColumnHeaders

      .Add , , "Codes", 1000
      .Add , , "Noms", 2600

      End With


      PoolConnection



      'Code des Clients


      SQLs = "select * from TableClts where Ste='" & CStr(VSte) & "'"

      If RS.State = adStateOpen Then RS.Close
      RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

      Do Until RS.EOF

      ListeCodes.ListItems.Add(1) = RS![Code]
      ListeCodes.ListItems.Add(2) = RS![Clt]

      RS.MoveNext

      Loop

      RS.Close





      End Sub
      0
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Dois tester plus

      Suite:

      Private Sub Form_Load()
          PoolConnection
          With Me.ListeCodes
              .LabelEdit = lvwManual      'ligne non modifiable
              .View = lvwReport
              .FlatScrollBar = False      'scrollbar Verticale
              With .ColumnHeaders
                  .Clear
                  .Add , , "Codes", 1000, lvwColumnLeft
                  .Add , , "Noms", 2600, lvwColumnCenter
              End With
              
              SQLs = "select * from TableClts where Ste='" & CStr(VSte) & "'"
      
              'If RS.State = adStateOpen Then RS.Close
              'RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic
              
              n = 1       'pointeur pour ligne
              Do Until RS.EOF
                  .ListItems.Add , , RS![Code]
                  .ListItems(n).ListSubItems.Add , , RS![Clt]
                  '------- changement couleur et style texte colonnes----- pour info
                  'If .ListItems(N) = TextBox1 Then .ListItems(N).Bold = True
                  'If .ListItems(N).ListSubItems(2).Text = "N?ant" Then
                  '    .ListItems(N).Bold = True
                  '    .ListItems(N).ForeColor = vbRed
                  '    For C = 1 To .ColumnHeaders.Count - 1
                  '        .ListItems(N).ListSubItems(C).Bold = True
                  '        .ListItems(N).ListSubItems(C).ForeColor = vbRed     'couleur colonne 2
                  '    Next C
                  'End If
                  n = n + 1
                  RS.MoveNext
              Loop
          End With
      End Sub
      
      0
    3. Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
       
      Re bonjour

      Pouvez vous m'expliquer pourquoi le programme ne reconnait pas l'index , du fait qu'il met les codes et les noms dans la même colonne, c'est à dire la colonne indexé par 1
      Pourtant sur le tableau des propriétés de la ListView, j'ai affecté à la colonne des "Codes" l'index 1, et à celle des "Noms" l'index 2.
      0
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Croisement de post.
      Regardez le post 3
      0
    5. Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
       
      Re bonjour

      Merci pour l'orientation. Je teste encore cette série de codes.
      0