bonsoir,
à mon sens, ce sujet serait plutôt à poster dans le sous-forum IHM ...
Ceci étant dit, comme les listes déroulantes sont basées sur des tables, il faut ajouter un champ booléen pour indiquer si l'élément a été sélectionné, car on ne peut pas travailler directement sur les valeurs de la liste puisqu'elle n'est pas basée sur une liste de valeurs mais une requête.
La requête contiendra uniquement ceux dont le champ (appelons-le
sélectionné) est à non, par exemple, pour la table
eleves:
SELECT nom, prenom, matricule FROM eleves WHERE sélectionné=False;
Ensuite, sur l'évènement "Après mise à jour" du formulaire, il faut mettre à jour la table en mettant le champ booléen à oui et recharger la liste (avec la clé primaire incluse dans la 3ème colonne de la liste)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Private Sub Form_AfterUpdate()
Dim strSQL As String
' mise à jour de la table eleves après sélection
strSQL = "Update eleves set sélectionné = True where matricule = " & Me.Liste0.Column(2) & ";"
CurrentDb.Execute strSQL, dbFailOnError
Bonsoir,
Désolé du retard que j'ai mis car je ne sentais pas.
Avec ta méthode, le code AprèsMAJ pour le formulaire ne me permet de continuer. Voir PJ
'rechargement de la liste avec les nouvelles valeurs
Me.Liste0.RowSource = Me.Liste0.RowSource
End Sub |
Après, cela va dépendre si ce choix a un caractère définitif ou non car à un moment il faudra initialiser le champ pour pouvoir faire de nouveaux choix ...
Partager