Problème avec une listView

Résolu
Signaler
Messages postés
10
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2008
-
Messages postés
10
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2008
-
Bonjour, je suis débutant en VB et je désespère, ca fait 2 jours que je me penche dessus, mais pas moyen de trouver l'erreur !!!

La connection à la BDD se fait correctement, mais c'est lors de l'affichage des données dans le listView, il me met une erreur : " Erreur d'exécution '13': type incompatible "... S'il vous plaît aider moi car la je suis vraiment perdu !!!

D'avance merci

PJ : mon code !


Private Sub Form_Load()
    ListViewResultat.ColumnHeaders.Clear
    ListViewResultat.ColumnHeaders.Add , , "ID", 800, lvwColumnLeft
    ListViewResultat.ColumnHeaders.Add , , "Nom", 3150, lvwColumnLeft
    ListViewResultat.ColumnHeaders.Add , , "Prénom", 3150, lvwColumnLeft
    ListViewResultat.View = lvwReport



    connectionADO.Provider = "Microsoft.jet.OLEDB.4.0"
    connectionADO.ConnectionString = BDD.mdb
    connectionADO.Open
    commandeADO.ActiveConnection = connectionADO
   
    commandeADO.CommandText = "SELECT * FROM tblClients"
   
    resultatADO.CursorLocation = adUseClient
    resultatADO.CursorType = adOpenDynamic
    resultatADO.LockType = adLockPessimistic
    resultatADO.Open commandeADO
    resultatADO.Sort = "C_Nom ASC"
    resultatADO.Requery
    
    Dim ListItemResultat As ListItem



    ListViewResultat.ListItems.Clear



    If (Not resultatADO.EOF) Then
        While (Not resultatADO.EOF)
            If (resultatADO.RecordCount <> 0) Then
                Set ListItemResultat = ListViewResultat.ListItems.Add(, , CStr(resultatADO!C_Id))
                 If Not IsNull(resultatADO!C_Nom) Then ListItemResultat.SubItems(1) = CStr(resultatADO!C_Nom)
                 If Not IsNull(resultatADO!C_Prenom) Then ListItemResultat.SubItems(2) = CStr(resultatADO!C_Prenom)
            End If
            If resultatADO.EOF = False Then resultatADO.MoveNext
        Wend
    End If
End Sub

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Sur quelle ligne as-tu cette erreur ? (supprime temporairement ta gestion d'erreur dans les Options "S'arrêter sur toutes les erreurs")
Je ne vois rien qui cloche.

Rien à voir avec l'erreur :
Sinon, tu testes à chaque donnée s'il existe qqchose dans le RecordSet; une fois suffit - L'instruction n'est pas au bon endroit, elle devrait être en tête.
J'aurai fait ceci :
ListViewResultat.ListItems.Clear
If (resultatADO.RecordCount <> 0) Then
   resultatADO.MoveFirst
   Do While (Not resultatADO.EOF)
      Set ListItemResultat = ListViewResultat.ListItems.Add(, , CStr(resultatADO!C_Id))
      If Not IsNull(resultatADO!C_Nom) Then _
            ListItemResultat.SubItems(1) = CStr(resultatADO!C_Nom)
      If Not IsNull(resultatADO!C_Prenom) Then _
            ListItemResultat.SubItems(2) = CStr(resultatADO!C_Prenom)
      resultatADO.MoveNext
    Loop
End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
15
Bonjour à tous,
Dans les propriétés de la Listview, il y a : FullrowSelect, est-ce cela que tu cherches pour selectionner ta ligne entière, ou j'ai mal compris?
A+
Exploreur
Messages postés
10
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2008

Bonjour Jack, merci pour ta réponse, apparement, c'était juste parce que l'instruction était au mauvais endroit !!! bizzare


Mais encore une petite question sur le listview, la quand je séléectionne un client, il me séléctionne juste l'id, et en plus je doit cliquer sur l'id du client, peut t'on sélectionner toute la ligne ??? par ex si je clique sur le prénom, ca sélectionne toute la ligne di client !!!


D'avance ,merci pour ta réponse

et sinon bonne année et bonne prog
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Re
... donc, en ayant appliqué ma méthode, tu n'as plus d'erreur ? bizarre, car cette remarque n'a changé que l'ordre des instructions, pas leur contenu ... bizarre.
Non, une ListView ne permet pas la sélection de la ligne entière. Il faudrait passer par une FlexGrid pour cela.
(ListView est le composant utilisé par le gestionnaire de fichiers, pour les exemples de comportement)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
10
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
6 juillet 2008

Salut @ tous et bonne année, j'éspère que vous avez tous bien réveilloné, (moi pas térrible j'ai eu un décès dans la famille récement donc !!! ), enfin revenons à nos mouton !!!

Merci Exploreur oui c'est ca le fullrowselect !!! et encore merci à Jack et oui c'est sur c'est bizzar, enfin je ne me plein pas !!! lol

Voilà bon allez @ + si j'ai un autre problème ( j'éspère que non ) !!!