Bonjour à tous,

Je possède un formulaire avec deux sous formulaires (un qui s’appelle automate et un autre rack)

Je possède également (pour etre complet) deux tables comme suit:

table Api :
[Equipement_Id]
[Api_Id]=clé primaire
[Api_Nom]
[Api_Marque]

table Api_Topo :
[Api_Id]
[Api_Topo_Id]=clé primaire
[Api_N°_Rack]
[Api_Emplacement]

Sur le sous formulaire automate je possède une liste déroulante qui met à jour les champs de l’automate selon le choix dans la liste déroulante, grâce au code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Private Sub Liste_Api_Change()
 
    ' Rechercher l'enregistrement correspondant au contrôle.
    Dim rs As Object
 
    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Api_Nom] = '" & Me![Liste_Api] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
Sur le second sous formulaire (rack) je possède une seconde liste déroulante que je voudrais mettre à jour à partir de la première liste déroulante du premier sous formulaire (donc à partir de la liste déroulante pour le choix de l’automate), voici le code que j’ai tapé à la suite du code précédent :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
  If (Liste_Api.Value <> "") Then
 
        Forms![Environnement]![sous-form Rack].Form![Liste_Rack_Api].RowSource = "Select Distinct [Api_Topo].[Api_N°_Rack] FROM Api, Api_Topo WHERE Api_Topo.Api_Id=Api.Api_Id AND Api.Api_Id=" & Liste_Api.Value & ";"
 
        Forms![Environnement]![sous-form Rack].Form![Liste_Rack_Api].Requery
    End If
 
End Sub
Mais quand je lance l’interface, le premier sous formulaire fonctionne, j’arrive à mettre à jour les champs en sélectionnant l’automate dans ma liste, mais quand je clique sur la deuxième liste, access me met comme message :
« Entrez la valeur du paramètre »
D’ou ma question, qu’est ce qui ne marche pas, pourquoi ma seconde liste ne se met pas à jour ???

Merci d’avance pour votre aide