Bonjour,
Je débute sous Access et je fais de mon mieux même si je suis loin de comprendre ce qu'il faut faire.
j'ai récupéré un projet déjà existant que je dois adapter aux besoins spécifiques de notre service.
Je souhaite ajouter une profession dans une liste déroulante si elle n'y est pas déjà présente.
J'ai donc suivi la procédure de la Faq :
En VBA bibliothèque Access :
A l'exécution, les erreurs étaient nombreuses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub ComboProfession_NotInList(NewData As String, Response As Integer) If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des professions ?", _ vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then DoCmd.RunSQL "INSERT INTO tblProfession (Profession) SELECT """ & NewData & """;" Response = acDataErrAdded Else Response = acDataErrContinue ComboProfession.Undo End If End Sub
J'ai essayé de les corriger, en vain.
J'ai donc choisi de passer en VBA bibliothèque ADO :
Je sais, mes tâtonnements relèvent du bricolage.
Une erreur fut signalée par le débogueur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub ComboProfession_NotInList(NewData As String, Response As Integer) dim cn as adodb.connection set cn = currentproject.connection If MsgBox("Voulez-vous ajouter " & NewData & " à la liste des professions ?", _ vbYesNo + vbQuestion + vbDefaultButton2, "Ajout") = vbYes Then cn.execute "Insert into tblProfession values(\'" & NewData & "\');" Response = acDataErrAdded Else Response = acDataErrContinue ComboProfession.Undo End If End Sub
J'ai donc modifié la ligne
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part cn.execute "Insert into tblProfession values(\'" & NewData & "\');"
Une erreur indique alors que
Code : Sélectionner tout - Visualiser dans une fenêtre à part cn.execute "Insert into tblProfession values'\" & NewData & "\');"Voici ma requête :le nombre de valeurs de la requête doit coïncider avec le nombre de champs destination
Cordialement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT tblProfession.IdProfession, tblProfession.Profession FROM tblProfession ORDER BY tblProfession.Profession;
Partager