Suppression définitive d'un enregistrement d'une liste déroulant

Résolu/Fermé
Juliaz Messages postés 18 Date d'inscription mardi 28 mars 2017 Statut Membre Dernière intervention 28 mai 2017 - 28 mars 2017 à 09:38
Juliaz Messages postés 18 Date d'inscription mardi 28 mars 2017 Statut Membre Dernière intervention 28 mai 2017 - 28 mars 2017 à 17:26
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
A voir également:

4 réponses

yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 Ambassadeur 1 557
28 mars 2017 à 11:12
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
Juliaz Messages postés 18 Date d'inscription mardi 28 mars 2017 Statut Membre Dernière intervention 28 mai 2017
28 mars 2017 à 11:28
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).
0
Juliaz Messages postés 18 Date d'inscription mardi 28 mars 2017 Statut Membre Dernière intervention 28 mai 2017
28 mars 2017 à 12:21
Je suis preneur d'idées ou de propositions sur ce problème


Merci d'avance
0
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 1 557
Modifié le 28 mars 2017 à 12:36
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".
0
Juliaz Messages postés 18 Date d'inscription mardi 28 mars 2017 Statut Membre Dernière intervention 28 mai 2017
28 mars 2017 à 14:03
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!!
0
yg_be Messages postés 23400 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 décembre 2024 1 557 > Juliaz Messages postés 18 Date d'inscription mardi 28 mars 2017 Statut Membre Dernière intervention 28 mai 2017
28 mars 2017 à 14:49
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"
0
Juliaz Messages postés 18 Date d'inscription mardi 28 mars 2017 Statut Membre Dernière intervention 28 mai 2017
28 mars 2017 à 17:26
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
0