Suppression définitive d'un enregistrement d'une liste déroulant [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
28 mai 2017
-
Messages postés
18
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
28 mai 2017
-
Bonjour,

Je souhaiterais avoir vos retours sur le code suivant:

J'ai en fait un formulaire sur lequel j'ai une liste déroulante qui propose plusieurs choix d'enregistrements.
A chaque fois qu'un enregistrement est sélectionné , je souhaite le supprimer définitivement de la liste en appuyant sur un bouton.

Pour ce faire , j'ai le code suivant:

Private Sub Commande1_Click()
If a.ListIndex >= 0 Then
a.RemoveItem a.ListIndex
End If
Me.Requery
Me.Refresh
End Sub

La suppression marche très bien à chaque sélection d'un enregistrement de données.
Par contre quand je ferme et que j'ouvre à nouveau le formulaire .Je retrouve ma liste déroulante avec l'ensemble des enregistrements : je retrouve ceux qui ont été supprimés.
Une fois qu'un enregistrement est supprimé , je ne souhaite plus l'avoir dans ma liste déroulante après fermeture et réouverture du formulaire .

J'espère que je me suis pas perdues sur les explications. Je me tiens à disposition pour reformuler à nouveau ma question si besoin .

Merci d'avance pour votre aide.

Juliaz

4 réponses

Messages postés
16427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 juillet 2021
879
bonjour,
je te suggère de jeter un coup à la définition de la liste dans le formulaire.
tu dois probablement supprimer l'enregistrement de la table, pas uniquement le supprimer de la liste.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
18
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
28 mai 2017

Bonjour,

Merci yg_be pour ce retour.

La liste déroulante est alimentée par une requête effectuée sur une table.
Et justement , mon souci réside sur le fait que je ne veux pas supprimer l'enregistrement de la table d'origine mais seulement sur la liste
( je ne sais même pas si c'est possible car à chaque réouverture du formulaire la liste se réinitialise avec les enregistrements supprimés sans doute parce que la table d'origine est restée inchangée).
Messages postés
18
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
28 mai 2017

Je suis preneur d'idées ou de propositions sur ce problème


Merci d'avance
Messages postés
16427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 juillet 2021
879
es-tu prête à ajouter une colonne dans ta table, pour mémoriser si l'enregistrement doit être montré ou pas dans la liste?
cette colonne serait "vrai" au départ, et deviendrait "faux" quand tu appuies le bouton "supprimer".
Messages postés
18
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
28 mai 2017

Merci

Oui cela me semble être une solution , une colonne en plus ne me gênerait pas.
Comment dois-je procéder pour cela?

Merci encore yg_be!!
Messages postés
16427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 juillet 2021
879 >
Messages postés
18
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
28 mai 2017

eh bien, en gros:
- tu crées une nouvelle colonne
- quand tu crées un nouvel enregistrement, tu enregistre "vrai" dans cette colonne
- dans ton formulaire, tu ne mets dans la liste que les enregistrements qui ont "vrai"
- dans Commande1_Click(), tu changes la valeur de "vrai" en "faux"
Messages postés
18
Date d'inscription
mardi 28 mars 2017
Statut
Membre
Dernière intervention
28 mai 2017

C'est génial,

J'ai fait ce que tu m'as proposé et ça marche très bien.

Merci encore une fois yg_be