Menu

ListBox [Résolu]

Messages postés
25
Date d'inscription
samedi 22 décembre 2018
Dernière intervention
19 janvier 2019
-
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
Afficher la suite 

Votre réponse

1 réponse

Messages postés
13911
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
19 janvier 2019
1287
0
Merci
Bonjour,

VB6.0, listbox: une seule colonne pas plus.
Utiliser une listview
f894009
Messages postés
13911
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
19 janvier 2019
1287 -
Re,
Croisement de post.
Regardez le post 3
Lenouveauapprenti
Messages postés
25
Date d'inscription
samedi 22 décembre 2018
Dernière intervention
19 janvier 2019
-
Re bonjour

Merci pour l'orientation. Je teste encore cette série de codes.
Lenouveauapprenti
Messages postés
25
Date d'inscription
samedi 22 décembre 2018
Dernière intervention
19 janvier 2019
-
Bonjour

Comme il est dit avant, j'ai testé votre code ( pour lequel je vous remercie),


Private Sub Form_Load()


'Les propriétés étaient à priori paramétrées directement sur le tableau des propriétés
'With Liste.ColumnHeaders

'.Add , , "Codes", 1200
'.Add , , "Noms", 2200

'End With

PoolConnection


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


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

n = 1

Do Until RS.EOF

Liste.ListItems.Add(1) = RS![Code]
Liste.ListItems(n).ListSubItems.Add , , RS![Compte]

n = n + 1

RS.MoveNext
Loop

RS.Close


End Sub



et j'ai pu en tirer ce qui suit :

1 : Ce code marche bien dès que la saisie a respecté l'ordre successive (suite des classes comptables) des comptes.
2 : Lorsque un compte a été oublié lors de la saisie, et je l'enregistre après, la ListView affiche les numéros de compte, mais le nom du compte qui est enregistré après reste vide.

Exemple ( la première saisie):

Code Compte

200001 XXXX
300001 YYYY
500001 ZZZZ

après je saisis

Code Compte

300002 GGGG

Dans ce cas la ListView affiche ce qui suit


Code Compte

200001 XXXX
300001 YYYY
300002
500001 ZZZZ

Merci d'avance de m'expliquer le pourquoi
Lenouveauapprenti
Messages postés
25
Date d'inscription
samedi 22 décembre 2018
Dernière intervention
19 janvier 2019
-
Re Bonjour

Enfin J'ai trouvé l'astuce. Voilà le Code que j'ai fais.


Private Sub Form_Load()

'Les propriétés étaient à priori paramétrées directement sur le tableau des propriétés

'With Liste.ColumnHeaders

'.Add , , "Codes", 1200
'.Add , , "Noms", 2200

'End With





PoolConnection


SQLs = "select * from TableCodes where (Ste='" & CStr(VSte) & "')" & "order by Code asc"


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

n = 1

Do Until RS.EOF

Liste.ListItems.Add(1) = RS![Code]
Liste.ListItems(n).ListSubItems.Add , , RS![Compte]

n = n + 1

RS.MoveNext
Loop

RS.Close


End Sub



J'ai ajouté à la requête : & " order by Code asc "

Merci pour votre aide
f894009
Messages postés
13911
Date d'inscription
dimanche 25 novembre 2007
Dernière intervention
19 janvier 2019
1287 -
Bonjour,

Eh ben voila…...
Commenter la réponse de f894009