Bonsoir,
Je suis nouveau en VBA et j'essaie de créer une requête de mise à jour d'une table basée sur une zone de liste.
J'explique : j'ai une table signalétique travailleur avec un champ remarque (c'est ce champ qu'il faut mettre à jour). J'ai créé un formulaire indépendant qui sert à alimenter le champ remarque. Si avec un choix unique, j'arrive à réaliser la mise à jour avec une simple requête en mode création. Pour un choix multiples, j'ai besoin de passer en VBA (juste ?).
J'ai écrit ce bout de code, mais il ne met à jour que le premier champs de la table.
Ma zone de liste à 3 colonnes (Nom, prénom, n°). La valeur enregistrée est celle relative à n°. Si lors de l'exécution, il m'affiche les bons n° sélectionnés, par contre au niveau de la mise à jour, il inscrit la remarque sur un seul travailleur. Je n'arrive pas (ne sais pas) paramétrer le findnext (qui est incomplet ici).
Est-ce que quelqu'un peut me dire ce que j'oublie? Un tout grand merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Dim rst As dao.Recordset Dim vNomZL As Variant Dim vNumtrav As String Set rst = CurrentDb.OpenRecordset("signalétique travailleur", dbOpenDynaset) For Each vNomZL In Me.Liste9.ItemsSelected vNumtrav = Me.Liste9.ItemData(vNomZL) rst.FindNext rst.Edit rst("remarque") = Me.RemIndiv rst.Update MsgBox vNumtrav Next rst.Close Set rst = Nothing
Partager