Supprimer une ligne de ma base et la charger dans mon listview [Résolu]

Signaler
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015
-
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
-
Bonsoir
Je débute et je souhaite supprimer une ligne de mon listview en clickant dessus et ensuite sur mon bouton  "supprimer"
Mais le probleme et que mon code ne fonctionne pas
rien ne se passe
Merci beaucoup pour votre aide qui m'aide à progresser
Voici mon code

private

Sub Button1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Button1.Click

If ListView1.SelectedIndices.Count <> 0
Then

'Construction de la requeteSQLString =
"DELETE FROM PROG " &
"WHERE Nom = " &
"'" & Fabricant &
"'"

ElseMsgBox(

"Vous n'avez s‚lectionn‚ aucune ligne. ", MsgBoxStyle.Information,
"Information ...")

Try

'Code qui execute la requeteobjconnection.Open()

Dim objCommand
As
New OleDbCommand(SQLString, objconnection)objCommand.ExecuteNonQuery()

objconnection.Close()

Catch ex
As ExceptionMsgBox(ex.ToString)

End
Try

End
If

'Affiche dans label15 le nombre d'entr‚es dans la base de donn‚esLabel15.Text = ListView1.Items.Count

End
Sub

9 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Tiens pour faire un essai :

Dim Key as String

Key  = "Ici tu met un nom de fabricant qui existe dans ta table" 
SQLString "DELETE FROM prog WHERE Fabricant " & Key & ""

A+
Exploreur

 
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
quel  Fabricant ?
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Est-ce que ta requête contient bien quelque chose ??
A+
Exploreur

 
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

Oui ma requete contient bien des données dans le champ "Fabricant" de ma table
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Dans ta table, peut être mais pas dans ta variable...
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

Si je modifie ma requete pour effacer toute ma base de donnée
Ma base est correctement effacée
SQLString = "DELETE FROM PROG "
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Essaye de faire juste avant ta requête un :

MessageBox de fabricant...Car je ne suis pas sûr de ce que tu dis, car ce que je vois(peut me tromper) c'est que fabricant n'est pas une table...Car si tu cherches un nom qui correspond à une table, tu risques de chercher longtemp...

A+
Exploreur

 
Messages postés
259
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
5 février 2015

effectivement tu as raison "Fabricant " n'est pas une table mais un champ dans ma table
Mais comment faire pour obtenir le resultat que je souhaite
je seche
A+
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Alors, c'est la même chose tu cherches un nom par rapport au nom de ton champ, encore une fois tu va chercher longtemps !!!!
Dans ta requête....Where nom = ????? << c'est toi qui définit ici le nom que tu veux chercher ton champ fabricant....

Voici un exemple pour méditation extrait de l'aide en ligne de VB sur la clause Where :

Cette exemple supprime tous les enregistrements des employés ayant la fonction Stagiaire. Lorsque la clause FROM inclut seulement une table, il n'est pas nécessaire d'indiquer le nom de cette table dans l'instruction DELETE.


Sub DeleteX()


 Dim dbs As Database, rst As Recordset


 ' Modifiez cette ligne pour préciser le chemin de
 ' la base de données Comptoir sur l'ordinateur.
 Set dbs = OpenDatabase("Comptoir.mdb")


 ' Supprime les enregistrements d'employé ayant la
 ' fonction Stagiaire. 
 dbs.Execute "DELETE * FROM " _
  & "Employés WHERE Fonction = 'Stagiaire;"
 
 dbs.Close


End Sub


Sinon faire la recherche aprés saisie du nom dans une zone de texte, syntaxe :

WHERE Nom = '" & Text1.Text & "';")

Enfin je ne suis pas du tout pro pour les requêtes car je m'y suis mit que depuis hier...et c'est la galère !!!

En plus, avant de faire l'éxecution de ta requête, il faut que tu récupère quand tu click sur ta listview, le nom à rechercher dans ta table/champ, pour en faire l'effacement..


A+
Exploreur