Bonsoir à tous,

J'ai un souci avec une procédure qui fonctionne très bien dans un de mes autres programmes. J'en ai fait un copier/coller et je l'ai légèrement modifié pour l'adapter à la base de données de cette nouvelle appli mais lors du chargement de la listview j'ai une erreur de type '13' et je ne trouve pas d'où elle peut provenir. Je vous demande donc de l'aide pour m'aider à la résoudre.

Voici mon code :

IdAgenda est un long
DateAgenda est un DateTime
NomMomentAgenda et NomTypeAgenda sont des strings

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Public Sub ChargementListeAgenda()
'fonction de rafraichissement de la liste des dates
Dim SQL          As String
Dim ObjListe     As ListItem
 
'j'efface le contenu de la listview
FrmAgenda.LstAgenda.ListItems.Clear
FrmAgenda.LstAgenda.ColumnHeaders.Clear
FrmAgenda.LstAgenda.ColumnHeaders.Add , , "Date", 900 
FrmAgenda.LstAgenda.ColumnHeaders.Add , , "Moment", 900 
FrmAgenda.LstAgenda.ColumnHeaders.Add , , "Evènement", 2880 
FrmAgenda.LstAgenda.View = lvwReport
 
'SQl = "SELECT * FROM T_Agenda WHERE IdUtilisateur=" & Trim(Form1.Text2.Text)
SQL = "SELECT T_Agenda.IdAgenda, T_Agenda.DateAgenda, T_Agenda.MomentAgenda, T_Agenda.TypeAgenda, T_Agenda.InvitationAgenda, T_Agenda.IdUtilisateur, T_MomentAgenda.NomMomentAgenda, T_TypeAgenda.NomTypeAgenda" & _
      " FROM T_TypeAgenda INNER JOIN (T_MomentAgenda INNER JOIN T_Agenda ON T_MomentAgenda.IdMomentAgenda = T_Agenda.MomentAgenda) ON T_TypeAgenda.IdTypeAgenda = T_Agenda.TypeAgenda" & _
      " WHERE T_Agenda.IdUtilisateur=" & Trim(Form1.Text2.Text)
 
'je charge le contenu de la listview
rs.Open SQL, db, adOpenKeyset, adLockOptimistic
    If rs.BOF = False And rs.EOF = False Then
        'Ajout des résultats dans la liste
        rs.MoveFirst
        While Not rs.EOF
            Set ObjListe = FrmAgenda.LstAgenda.ListItems.Add '<-- C'est ici que se produit l'erreur
            ObjListe.Key = "A" & rs!IdAgenda
            ObjListe.Text = Str(rs!DateAgenda)
'            ObjListe.ForeColor = vbBlue
'            ObjListe.Bold = True
            ObjListe.SubItems(1) = rs!NomMomentAgenda
            ObjListe.SubItems(2) = rs!NomTypeAgenda
'            ObjListe.ToolTipText = ""
            rs.MoveNext
        Wend
    End If
rs.Close
 
End Sub
Merci à tous,

Ludo