Bonjour à tous !
Dans un sous-formulaire, j'ai une liste déroulante dans laquelle j'ajoute de nouveaux enregistrements.
J'utilise le code donné dans la FAQ Access
Je dois dire qu'il fonctionne très bien ! Trop bien en fait, la valeur s'ajoute deux fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Periodique_NotInList(NewData As String, Response As Integer) If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des prénoms ?", _ vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then DoCmd.RunSQL "INSERT INTO tb_periodiques ( Periodique ) SELECT """ & NewData & """;" Response = acDataErrAdded Else Response = acDataErrContinue Modifiable0.Undo End If End Sub
Je soupçonne que l'erreur ne vient pas du code, car j'ai aussi essayé celui-là avec le même résultat (deux enregistrements à la place d'un).
Auriez-vous une idée ? Où est-ce que je fais une erreur ?
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 Option Compare Database Private Sub Periodique_NotInList(NewData As String, Response As Integer) Dim rst As DAO.Recordset If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des périodiques ?", _ vbQuestion + vbYesNo) = vbYes Then Set rst = CurrentDb.OpenRecordset("tb_periodiques") rst.AddNew rst!Periodique = NewData rst.Update rst.Close Set rst = Nothing End If Response = acDataErrAdded End Sub
Merci d'avance !
Partager