Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de suppression sur zone de liste

2 réponses
Avatar
JV
Bonjour à tous

avec votre aide j'avance toujours un peu + et je vs en remercie

j'ai une zone de liste où je souhaite faire des sélections multiples
pour aller après effacer ce que j'ai sélectionné dans la table

cela fonctionne pas comme je veux
admettons que ds ma liste j'ai 14 lignes
j'en sélectionne 4 access me supprime toute la table comme si
je lui disais Delete *

voici mon code

Private Sub Commande8_Click()

Dim varI As Variant
Dim SQL As String

If Me.affiche.ItemsSelected.Count = 0 Then
MsgBox "Aucun champ n'a été sélectionné"
Else

For Each varI In Me!affiche.ItemsSelected

SQL = "DELETE T_ajout.* FROM T_ajout " & _
"WHERE (" & Me!resultats.ItemData(varI) & ");"

DoCmd.RunSQL SQL
SetWarnings = False

Next varI
Me.affiche.Requery
End If


End Sub


merci d'avance de votre aide

BV

2 réponses

Avatar
Gafish
Bonjour

JV wrote:
cela fonctionne pas comme je veux
admettons que ds ma liste j'ai 14 lignes
j'en sélectionne 4 access me supprime toute la table comme si
je lui disais Delete *

SQL = "DELETE T_ajout.* FROM T_ajout " & _
"WHERE (" & Me!resultats.ItemData(varI) & ");"


C'est normal; il te manque le nom du champ. J'imagine que ta liste renvoit
un identifiant, il faut donc que tu effaces la ligne où l'identifiant est
égal à celui de la liste, donc :

SQL = "DELETE T_ajout.* FROM T_ajout " & _
"WHERE T_ajout.NomDeTonChamp =" & Me!resultats.ItemData(varI) & ");"

En remplacant NomDeTonChamp par le champ qui va bien

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
JV
merci beaucoup cela fonctionne mieux
effectivement

:)

BV

"Gafish" a écrit dans le message de news:

Bonjour

JV wrote:
cela fonctionne pas comme je veux
admettons que ds ma liste j'ai 14 lignes
j'en sélectionne 4 access me supprime toute la table comme si
je lui disais Delete *

SQL = "DELETE T_ajout.* FROM T_ajout " & _
"WHERE (" & Me!resultats.ItemData(varI) & ");"


C'est normal; il te manque le nom du champ. J'imagine que ta liste renvoit
un identifiant, il faut donc que tu effaces la ligne où l'identifiant est
égal à celui de la liste, donc :

SQL = "DELETE T_ajout.* FROM T_ajout " & _
"WHERE T_ajout.NomDeTonChamp =" & Me!resultats.ItemData(varI) & ");"

En remplacant NomDeTonChamp par le champ qui va bien

Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr