Utiliser un RecordSet

mcarre -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une requête SQL qui me ramène des informations sur des patients et qui les stock dans un Recordset ADODB. Je voudrais pouvoir stocker toutes ces lignes dans une zone de liste pour pouvoir choisir ce qui correspond.

Ce code correspond à ce que je voudrais faire mais il faut trouver un substitut à ListItems et ListSubItems.

Pouvez-vous m'aider ?

If requete.EOF Then
GoTo Fin
Else
requete.MoveFirst
For i = 1 To requete.RecordCount
ListePatient.RowSource.ListItems.Add i, , requete.Fields(0)
If requete.Fields(1) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(1)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
If requete.Fields(2) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(2)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(8)
If requete.Fields(3) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(3)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
If requete.Fields(4) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(4)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
If requete.Fields(5) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(5)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
If requete.Fields(6) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(6)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
If requete.Fields(7) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(7)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
If requete.Fields(9) <> "" Then
ListePatient.ListItems(i).ListSubItems.Add , , requete.Fields(9)
Else
ListePatient.ListItems(i).ListSubItems.Add , , " "
End If
requete.MoveNext
Next i
ListePatient.View = lvwReport
End If
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

un peu plus simple:

Private Sub Commande2_Click()
Dim Rsql
'adaptez la requete et le nom de la zone de liste
Rsql = "select * from tâches"
With Liste0
'nombre de colonnes
.ColumnCount = 10 '0 à 9 (attention 10 maxi)
'la taille des colonnes (0 pour cacher une colonne)
.ColumnWidths = "2 cm;1 cm;1 cm;2 cm;1 cm;1 cm;2 cm;1 cm;1 cm;2 cm"
.RowSourceType = "Table/Query"
.RowSource = Rsql
.Requery
End With
End Sub
0