winvsmac
Messages postés84Date d'inscriptionsamedi 26 mai 2007StatutMembreDernière intervention14 décembre 2016
-
11 nov. 2009 à 14:02
Ahmed402
Messages postés21Date d'inscriptionvendredi 13 mars 2009StatutMembreDernière intervention16 avril 2010
-
12 nov. 2009 à 16:53
Bonjour à tout le monde,
Je reviens ici pour m'aider à résoudre un petit bug ... (environnement VB6).
Sur un formulaire, j'ai une listebox qui présente une liste d'éléments. Sur cette liste, la case à cocher est affichée, et tous les éléments sont sélectionnés.
J'ai un bouton sur ce form qui execute le code suivant :
choix = MsgBox("Confirmez-vous la suppression ?", vbYesNo + vbCritical, "Confirmation de suppression")
If choix = vbYes Then
For i = 0 To Liste.ListCount - 1
If Liste.Selected(i) = True Then
sql = "DELETE * from T_SOLUCES where id like '*" & Mid(Liste.Text, 1, 6) & "*'"
db.Execute sql
End If
Next i
MsgBox "Suppression effectuée !", vbOKOnly + vbInformation, "Message"
Le problème que j'ai est que seulement un élément est supprimé (le dernier en l'occurence) alors que je voudrais qu'ils le soient tous ....
winvsmac
Messages postés84Date d'inscriptionsamedi 26 mai 2007StatutMembreDernière intervention14 décembre 2016 11 nov. 2009 à 14:16
En effet, ma listebox comportant 3 éléments, en affichant ma commande SQL en msgbox, je vois que mon code boucle sur la même référence, c'est-à-dire la dernière.
C'est mon 'For i = 0 to liste.listecount -1' qui cloche je pense.
Ahmed402
Messages postés21Date d'inscriptionvendredi 13 mars 2009StatutMembreDernière intervention16 avril 2010 12 nov. 2009 à 16:53
For i = 0 To Liste.Count - 1
If Liste.item(i).eval(Liste.selectedItem) Then
sql = "DELETE * from T_SOLUCES where id like '*" & Mid(Liste.item(i).Text, 1, 6) & "*'"
db.Execute sql
End If
Next i