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

Résolu
Juliaz Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
Juliaz Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
Je suis preneur d'idées ou de propositions sur ce problème


Merci d'avance
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Juliaz Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention  
 
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