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

Comment utiliser plusieurs valeurs dans une liste de choix ?

11 réponses
Avatar
Brunonix
Bonjour à tous !

Je suis encore novice dans les macros, alrs les codes , n'en parlons pas
tout de suite.
J'ai un problème que je ne sais pas résoudre. Je veux créer i=un formulaire
avec une liste de choix basée sur une table. Je peux autoriser le choix
multiple dans les propriétés. Jusque là, c'est ok. Mais comment faire pour
les retrouver et les utiliser dans un sous formulaire contenat des
informations liées à cette première table?
Exemple : table "Matières" contenant un numéro automatique, et les matières
(français, allemand, etc... le sous formulaire affiche les livres utilisés
par cette matière. Tout fonctionne bien si je ne suis pas en choix multiple
(cas je suppose très classique des formulaires). Je ne sais pas utiliser et
gérer le choix multiples, pourtant capital dans mon cas.

Je vous remercie d'avance, et si vous avez un code, svp, soyez clair de me
dirte ce que je dosi en faire :-).

Bruno

1 réponse

1 2
Avatar
Eric
Bonjour Bruno,

Une solution consisterait à mettre un bouton de commande sur ton
formulaire. Sur l'évènement click de ce bouton tu mets le code suivant :

(l'état doit contenir exactement les même champs que le formulaire)

Private Sub Commande7_Click()
Dim e As Report
DoCmd.OpenReport "eLivre", acViewDesign
Set e = Reports("eLivre")
e.RecordSource = txtSQL
DoCmd.Close acReport, "eLivre", acSaveYes
DoCmd.OpenReport "eLivre", acViewPreview ' ou acNormal pour imprimer
End Sub

*MAIS* il faut que tu déplaces la déclaration de txtSQL dans la partie
déclarative de ton module de formulaire

Il faut mettre : Dim txtSQL as String

et tu supprimes, dans l'instruction Dim txtSQL as String, i, restriction
as string de la procédure Private Sub Liste0_AfterUpdate(), la
déclaration txtSQL as String pour n'avoir que :

Private Sub Liste0_AfterUpdate()
Dim i, restriction As String
...
End Sub

(Ici, exemple plus complet : http://cjoint.com/?dmrIBCbHGY car je teste
le cas ou l'on veut imprimer à l'ouverture du formulaire puisque celui
ci affiche tous les livres initialement)


Voila, ca devrait te permettre d'obtenir le résultat souhaité.

A+
Eric

Dis moi Eric, dans ton fichier exemple, n'y a-t-il pas un moyen simple pour
qu'un état construit de façon identique au formulaire prennent strictement
les mêmes valeurs que le formulaire? Une sourte d'instruction du type
Me.Report.état.source=Me.Formulaire.source ?




1 2