Bonjour,
J'ai une table qui contient un attribut multivalué définit par les jours de la semaine ("Lundi","Mardi",...). J'essaye d'effectuer une opération de mise a jour dessus avec les recordset et le tutoriel http://warin.developpez.com/access/multivalue/
et j'obtiens donc le code suivant:
J'obtiens l'erreur suivante sur la ligne .AddNew:
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
21
22
23
24 Dim Str2 As String Str2 = "Lundi" Dim oDb As DAO.Database Dim oRstJour As DAO.Recordset, oRst As DAO.Recordset Set oDb = CurrentDb 'Instancie un recordset correspondant à la facture 1 Set oRstJour = oDb.OpenRecordset( _ "SELECT * FROM Planning WHERE NumPlan = 1") With oRstJour 'Vérifie que le curseur n'est pas vide If Not .EOF Then 'Récupère le recordset du champ multi-valué Set oRst = .Fields("Jour").Value 'Mettre le jour à vrai ? With oRst .AddNew .Fields(0) = Str2 .Update End With Else MsgBox "Aucun planning valide", vbCritical, "Erreur" End If End With
Impossible de mettre a jour un champ a plusieurs valeurs si le jeu d'enregistrements parent n'est pas accessible en mode modification. Pour ce faire, utilisez la méthode AddNew ou Edit.
L'utilisation finale sera, quand l'utilisateur choisira les jours dans une ListBox multivalues dans un formulaire, la mise a jour selon les paramètres mis dans le formulaire (aucun problème a ce niveau là) de tous les jours séléctionnés dans la lsite.
Merci pour votre aide.
Partager