Bonjour,

J'utilise le code ci-dessous pour ajouter un élément qui n'est pas dans liste :

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
Private Sub NF_Nature_NotInList(NewData As String, Response As Integer)
Dim rst As Recordset
 
If MsgBox("La nature " & NewData & " n'existe pas dans la liste. Voulez-vous l'ajouter ?", _
    vbQuestion + vbYesNo) = vbYes Then
    ' Ajouter l'élément à la liste
    Set rst = CurrentDb.OpenRecordset("T_Nature")
    rst.AddNew
        rst!Nature = NewData
    rst.Update
        rst.Close
    Set rst = Nothing
    End If
 
Me.NF_Nature.Requery
 
' Annuler le message d'erreur d'Access
Response = acDataErrAdded
End Sub
Je tape une nouvelle qui ne se trouve pas dans la liste, la boite de dialogue me demande de l'ajouter, je cliques OK et j'ai une erreur sur 2118 - enregistrer le champ en cours avant d'actualiser @.

Je pige pas le rst.Update enregistre bien la nouvelle valeur

Merci d'avance pour votre aide

seb