Supprimer élément de listbox dans BDD en VB ?

Résolu/Fermé
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 - Modifié par Hunzimmer le 18/06/2010 à 09:33
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 - 18 juin 2010 à 14:22
Bonjour à tous ,

je travaille sur visual basic 2008 et une base de données access 2000
je voudrais savoir comment fait-on pour supprimer un élement qui est dans une listebox et qui se supprime en meme temps dans ma base de donnée

Merci



A voir également:

4 réponses

moi je lai fait mais avec une checbox via un formulaire html je te fille mon code peut etre sa tinspirera

$supr=(isset($_POST['supr']));

if($supr==1)
{
$idsupr=$_POST['supr'];
$req="delete from client where id='$idsupr' ";
$del=mysql_query($req);
}
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 09:33
bha merci quand meme mais j'ai obligé de préciser sur quoi je travailler , je le fais sur visual basic avec une base access

merci quand meme ;)
0
lol bin tant pissa aidera peut etre certain bonne chance a toi la je peut pas taider
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 09:35
oué peut etre Lol
Merci quand meme ;)
bonne journé a toi
0
chrij Messages postés 115 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 20 mai 2011 49
Modifié par chrij le 18/06/2010 à 09:39
Tu veux que ce soit fait en 1 fois ou il peut y avoir deux étapes (1 suppression de la liste + 1 suppression de la bdd) ?

Pour juste le supprimer de la liste, va voir par ici, on y a passé pas mal de temps : https://forums.commentcamarche.net/forum/affich-18146667-retirer-des-element-d-une-listbox-en-vb
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 09:40
nan je veux juste choisir un élément dans ma liste et cliquer sur supprimer (un bouton) et qu'il soit supprimer de ma base de données
0
chrij Messages postés 115 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 20 mai 2011 49
18 juin 2010 à 09:44
Si tu rajoutes une ligne de code pour supprimer dans la base de donnée (DELETE FROM table WHERE ....) à la solution que je t'ai proposé ça devrait le faire.
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 09:46
quelle solution ? :S
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 09:48
je viens de trouver ce code sur un forum
ques tu en pence ?

Dim C As Integer = ListBox1.SelectedItems.Count
While C <> 0
Dim cmd As SqlCommand
cmd = Maconnexion.CreateCommand
cmd.CommandText = "DELETE FROM dbo.client WHERE nom = " & ListBox1.SelectedItem.ToString & " ; "
MsgBox(cmd.CommandText)
cmd.ExecuteNonQuery()
C = C - 1
Dim I As Integer = ListBox1.SelectedIndex
'ListBox1.SelectedIndices.Remove(I)
ListBox1.Items.RemoveAt(I)
End While
End Sub
0
chrij Messages postés 115 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 20 mai 2011 49
Modifié par chrij le 18/06/2010 à 09:49
Tu sélectionnes l'élément dans ta liste puis tu le supprime de ta liste (code ici : https://forums.commentcamarche.net/forum/affich-18146667-retirer-des-element-d-une-listbox-en-vb
Tu rajoutes la suppression dans la base de donnée.

Si tu préfères autre chose, on tentera autre chose
0
chrij Messages postés 115 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 20 mai 2011 49
18 juin 2010 à 10:19
Peux tu tenter ce code là et me dire ce que ça fait ?
Dim LB_Liste As ListBox
        Dim oleDbConnex As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\Mes documents\bdd.mdb")
        Dim oleCmd As New OleDb.OleDbCommand()
        oleCmd.Connection = oleDbConnex
        For i = LB_Liste.Items.Count - 1 To 0 Step -1
            If LB_Liste.GetSelected(i) Then
                oleCmd.CommandText = "Delete * from Joueurs where NomJoueur = '" & LB_Liste.Items(i).ToString & "' "
                oleCmd.ExecuteReader()
                LB_Liste.Items.RemoveAt(i)
                i = i - 1
            End If
        Next i

0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 10:25
j'ai mi le code que tu ma passé , et quand je clique sur mon bouton

dans mon code , il met la ligne en jaune :
For i = LB_Liste.Items.Count - 1 To 0 Step -1

et dit " la référence d'objet n'est pas definie à une instance d'un objet"
0
chrij Messages postés 115 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 20 mai 2011 49
18 juin 2010 à 10:44
Excuse moi, je t'ai donné une ligne de trop.
Enlève la ligne Dim LB_Liste As ListBox (utilisée pour faire mes tests)

Et pense à corriger les LB_liste en fonction du nom de ta listebox.
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 10:48
maintenant il me met cette ligne la en jaune :
oleCmd.ExecuteReader()

et me dit " executereader neccesite une connexion ouverte et disponible.la connexion est actuellement fermé"
0
chrij Messages postés 115 Date d'inscription jeudi 10 juin 2010 Statut Membre Dernière intervention 20 mai 2011 49
18 juin 2010 à 10:53
rajoute cela juste avant la boucle For :
oleDbConnex.Open()
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 10:55
ah ca marche =)
je te remercie =)
0
Hunzimmer Messages postés 63 Date d'inscription vendredi 18 juin 2010 Statut Membre Dernière intervention 1 juillet 2010 1
18 juin 2010 à 11:02
VOIla la solution pour supprimer un element dans une listebox dans une base de données access :

Dim oleDbConnex As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data source=C:\Mes documents\bdd.mdb")
Dim oleCmd As New OleDb.OleDbCommand()
oleCmd.Connection = oleDbConnex
oleDbConnex.Open()
For i = LB_Liste.Items.Count - 1 To 0 Step -1
If LB_Liste.GetSelected(i) Then
oleCmd.CommandText = "Delete * from Joueurs where NomJoueur = '" & LB_Liste.Items(i).ToString & "' "
oleCmd.ExecuteReader()
LB_Liste.Items.RemoveAt(i)
i = i - 1
End If
Next i
0