Problème avec une listView

Résolu
tribipod08 Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 6 juillet 2008 - 30 déc. 2006 à 13:16
tribipod08 Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 6 juillet 2008 - 1 janv. 2007 à 22:46
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 déc. 2006 à 05:11
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)
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
1 janv. 2007 à 14:14
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
3
tribipod08 Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 6 juillet 2008
31 déc. 2006 à 12:05
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
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 déc. 2006 à 19:01
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tribipod08 Messages postés 10 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 6 juillet 2008
1 janv. 2007 à 22:46
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 ) !!!
0
Rejoignez-nous