Bonjour à tous
Je tiens à remercier d'avance les personnes qui accorderont du temps et se pencheront sur mon problème.
Et je tiens également à signaler que je ne suis pas une experte en VBA, et que j'utilise depuis seulement une semaine microsoft access (version 2003), mais je me débrouille comme je peux.
J'ai créé une base de données comportant une table nommée "Guide Recueil", ainsi que son formulaire. A l'intérieur de celui-ci, j'ai créé une liste à sélection multiple (nommée Serv)
Jusqu'ici je n'ai rencontré aucun soucis, en revanche, pour enregistrer les valeurs sélectionnées dans ma table, ca se complexifie...
J'ai regardé divers tutoriels et fora, et tenté quelques codes VBA.
Je suis parvenue à enregistrer les valeurs mais de la manière suivante :
Or ici, la requête entraine autant d'enregistrements que de valeurs sélectionnées et, dans un seul et même champ.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub btnListe_Click() Dim I As Variant For Each I In Me.Serv.ItemsSelected DoCmd.RunSQL "INSERT INTO [Guide Recueil] (trait1) SELECT '" & Me.Serv.Column(0, I) & "' AS Expr1;" Me!Serv.Selected(I) = False Next I End Sub
Par ailleurs, ça n'enregistre que les données de la liste à sélection multiple, et pas le reste du formulaire complété.
Ce que j'aurais aimé c'est que pour un même individu (un même enregistrement), j'ai par exemple choix1 enregistré dans le champ trait1, choix2 dans le champ trait2, si pas de choix3 alors le champ trait3 est vide etc. jusqu'à trait5 (car 5choix possibles)
Et par ailleurs, que le reste des champs complétés (Nom, Lieu etc) s'enregistrent en même temps.
J'espère que je me suis faite comprendre, excusez-moi si mes explications ne sont pas très claires.
Partager