Bonjour,
Je sollicite votre aide pour le problème suivant :
J'ai disposé une liste déroulante dans un petit formulaire de choix permettant l'ouverture d'un état.
Cette liste est basée sur une requête, mais la requête porte sur une table située dans une autre base de données access.
je vous mets le code à l'ouverture du formulaire :
Le problème : La liste (Liste_Type_VP) du formulaire est vide ..... Alors que le recordset (rst_Liste_Type_VP) basé sur la même requête contient bien les bonnes valeurs, j'en perds mon latin .....
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 ''Code effectué à l'ouverture du formulaire "Choix du type de VP" Private Sub Form_Open(Cancel As Integer) Dim str_SQL As String Dim rst_Liste_Type_VP As Recordset 'Ouverture de la base "gestion des MOP" et affectation à l'objet database "odb" (odb est définie en public dans un autre module) Set oDb = OpenDatabase(Application.CurrentProject.Path & "\BDD gestion des MOP", True, True) 'Création du code SQL pour le curseur d'affichage de la liste des types de VP kilométriques str_SQL = "SELECT [T_Type_VP].IDTYPEVP, [T_Type_VP].NomTypeVP" & vbCrLf & _ "FROM [T_Type_VP]" & vbCrLf & _ "WHERE ([T_Type_VP].IDTYPEVP < 20)" & vbCrLf & _ "ORDER BY [T_Type_VP].IDTYPEVP" 'Création du curseur qui récupère les données de la requête (pour test) Set rst_Liste_Type_VP = oDb.OpenRecordset(str_SQL, dbOpenSnapshot, dbReadOnly) Debug.Print rst_Liste_Type_VP(0), rst_Liste_Type_VP(1) ''Efface la valeur affichée de liste déroulante de choix du type de VP Me.Liste_Type_VP.Value = "" ''Verrouille le bouton OK Me.[Btn_OK].Enabled = False ''Affecte le code SQL et déroule la liste du type de VP Me.Liste_Type_VP.RowSource = str_SQL Me.Liste_Type_VP.SetFocus Me.Liste_Type_VP.Dropdown End Sub
Mais si je copie la table externe ([T_Type_VP]) dans la base de donnée courante, sans ouvrir la 2ème base, la liste est bien alimentée .....
Qu'est ce qu'il manque ?
Merci
Partager