voila un bout de code qui devrai vous aider :
Private Sub Form_Load()
'LISTVIEW
'***************************************************
'Objet pour la listview (chaque ligne est un lvitem)
Dim lvitem As ListItem
'BASE
'***************************************************
' Contient la base
Dim db As Database
' Contient le jeu d'enregistrement
Dim Rs As Recordset
' Contient la requete
Dim sql As String
Dim sql2 As String
Dim sql3 As String
'Définition des en-têtes de colonnes de la listview n°1
Lv.View = lvwReport
Lv.ColumnHeaders.Add , , "Numéro"
Lv.ColumnHeaders.Add , , "Nom,prénom"
Lv.ColumnHeaders.Add , , "Voie,rue"
Lv.ColumnHeaders.Add , , "C.P,ville"
Lv.ColumnHeaders.Add , , "Téléphone"
Lv.ColumnHeaders.Add , , "Mail"
'remplissage de la listview N°1
'**************************************************
Lv.Enabled = False 'chargement plus rapide avec False
'Pour un SELECT (dans le cas où la requete renvoie plusieurs lignes) :
' Connection à la base
Set db = DBEngine.Workspaces(0).OpenDatabase(App.Path & "\base.mdb")
' Assignation de la requète
sql = "SELECT * FROM stagiaire ORDER BY numSt"
' Exécution de la requète et récupération du jeu d'enregistrement
Set Rs = db.OpenRecordset(sql)
' Si il n'y a pas d'enregistrements, on saute le traitement
If Rs.EOF Then
GoTo fini
End If
' On se place au premier enregistrement concerné
Rs.MoveFirst
' Affichage dans un listbox
' Tant qu'on a pas atteint le dernier enregistrement :
Do While Rs.EOF = False
Set lvitem = Lv.ListItems.Add(, , Rs!mailSt)
lvitem.SubItems(1) = Rs!nomprenomSt
lvitem.SubItems(2) = Rs!voierueSt
lvitem.SubItems(3) = Rs!cpSt & " " & Rs!villeSt
lvitem.SubItems(4) = Rs!telSt
'lvitem.SubItems(5) = Rs!mailSt
' On se place a l'enregistrement suivant
Rs.MoveNext
Loop
fini:
' Fermeture du jeu d'enregistrement
Rs.Close
' Fermeture de la base
db.Close
Lv.Enabled = True
End Sub
attention, la méthode utilisée est DAO et non ADO, elle est un peu plus vielle mais fonctionne quand meme
esperant vous avoir aidé nss is back
|