Bonjour à tous,
J'ai créer un formulaire dans lequel j'ai créer une zone de liste déroulante basé sur la table TB_DESCRIPTIONS que j'ai. En fait ce que j'aimerais faire c'est avoir la possibilité d'ajouter des données directement dans cette liste et que ces données (si elles n'existe pas) qu'elles viennent directement dans la table TB_DESCRIPTIONS.
Voici ce que j'ai trouvé dans la FAQ :
à ce lien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub MaListe_NotInList(NewData As String, Response As Integer) Response = acDataErrContinue End Sub
http://access.developpez.com/faq/?pa...ZoneListMsgErr
Cela me permet de supprimer le message qu'il vient quand je veux ajouter une valeur dans une zone de liste déroulante et qu'elle n'existe pas.
Voici la fonction que j'ai faite :
Le problème que j'ai c'est que lorsque je rentre une valeur qui n'appartient pas à la table sur laquelle ma zone de liste déroulante est basé, il n'y a rien qui se passe, c'est à dire que pour quitter mon champ de zone de liste déroulante je dois ABSOLUMENT choisir une valeur dans ma 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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Public Function fn_AjouterDescription(str_Description As String) 'Déclaration des variables Dim base_donnee As DAO.Database Dim str_ReqDescription As String Dim rst_Description As DAO.Recordset Dim int_PkDescription As Integer 'On spécifie quelle table on doit ouvrire Set base_donnee = Application.CurrentDb Set rst_Description = base_donnee.OpenRecordset("TB_DESCRIPTIONS") 'Requête pour parcourir la table avec les critères. str_ReqDescription = ("SELECT * FROM TB_DESCRIPTIONS WHERE [nom_description] LIKE '" & str_Description & "'") 'Attribution de ce que l'on doit exécuter dans le parcours de la table Set rst_Description = base_donnee.OpenRecordset(str_ReqDescription, dbOpenDynaset) If (rst_Description.EOF = False) Then 'Parcours de la table TB_OFS selon la requête et les critères spécifiés. 'Si il EXISTE ( on ne fais rien ) Else 'Si il EXISTE PAS rst_Description.AddNew rst_Description("nom_description") = str_Description int_PkDescription = rst_Description("pk_description") rst_Description.Update End If End Function
Savez-vous ce que je peux faire pour modifier cela ???
Merci de votre aide ...
A tout bientôt ...
Partager