salut
je travaille avec un listVew nommé listv comprotant des champs provonnant d'une table sql server
je voudrais grace à l'événement clickItem faire une requete delete pour supprimer le champ selectioner ds la table
salut
je travaille avec un listVew nommé listv comprotant des champs provonnant d'une table sql server
je voudrais grace à l'événement clickItem faire une requete delete pour supprimer le champ selectioner ds la table
Voici une fonction qui permet de connaître la ligne choisie
Pour faire la suppression :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Public Function initListe(ByRef uneList As ListView, ByVal numCol As Integer) As String If uneList.ListItems.Count >= 1 Then If numCol > 0 Then initListe = uneList.ListItems(uneList.SelectedItem.Index).ListSubItems(numCol).text Else initListe = uneList.ListItems(uneList.SelectedItem.Index).text End If Else initListe = "" End If End Function
Nota : La première colone a pour index 0, la i eme i-1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 sqlDelete = " DELETE FROM nomTable " & _ " WHERE nomChamp = " & initListe(nomListView, numCol) & ""
A bientôt !
Sur l'évènement tu as l'item cliqué qui est renvoyé, où est le problème après ?
Il faut bien sûr que lorsque tu construits ta liste tu stockes quelque part l'id du champ dans ta table, afin de le recupérer au moment du click pour construire ta requête.
Quel est le problème exactement ?
salut
le problème c'est que je suis debutantet donc je n arrive pas trop à assimiler tout le code
par exemple le numcol ca fait reference à quoi exactement dans ma listeviw
peut etre à l'Index ?
Voila je voudrais supprimer une ligne complete de ma base sql qui comporte plusieurs champs et que je visualise dans un listview
J'aimerais lorsque je click sur une ligne de mon listview et qu'ensuite je click sur mon bouton supprimer,que cette ligne soit detruite de ma base
J'utilise le sql avec l'instruction "delete",pour le moment j'arrive à supprimer toute ma base de donnée mais je ne sais pas comment faire pour supprimer une ligne qui est selectionnée dans mon listview
numCol c'est le num de la colone qui te permet d'identifier la ligne d'une litview.Envoyé par josémaria
Par exemple tu as une liste composée des colones suivantes :
idPersonne nomPersonne PrenomPresonne
Si c'est idPersonne qui te permet d'identifier une ligne, numCol vaut zéro.
Ca te va ?
on parle bien du même listview ?
Un élément d'un listview s'appelle un "LISTITEM", et contient lui même des "LISTSUBITEMS" qui sont à vulgairement les colonnes du listview. Le listItem et ses listsubitems constituent une ligne de ton listview.
set lItem = listv.listitems.add (index, clé, texte)
set lSubItem = lItem.listsubItems.add(index, clé, texte)
index et clé sont facultatifs, mais je te conseille de remplir au moins l'un des deux (la clé)
Ensuite tu peux stocker dans le TAG du listitem ce que tu veux :
set lItem.tag = objUnObjet
ou
lItem.tag = "ID de l'enregistrement que je veux supprimer"
par exemple ...
Donc, ta fonction se présenterait comme ça :
C'est plus clair ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub listv_ItemClick(ByVal Item As MSComctlLib.ListItem) dim strIDEnBase as string strIDEnBase = Item.tag supprimeEnregistrement(strIDEnBase) End Sub
Partager