Bonjour bonjour,
Voici mon (nouveau) problème. Je crée un sous-formulaire de recherche et comme les recherches peuvent s'effectuer sur des objets différents, les propriétés qui s'affichent sont différents.
Voici une image qui pourra aider à comprendre:
__________________________________________________________________________________
_____________________________________________________________________________________
La liste en bas du formulaire est en fait un sous-formulaire donc la propriété "Objet Source" est une requête
J'ai créé un code sur mise à jour du contrôle Type d'Optique qui modifie cette requête.
J'arrive à modifier la requête dès que je change le type d'optique; mon problème c'est l'affichage dans le sous-formulaire.
Les enregistrements affichés sont bien liés à la requête, mais par contre la liste des champs affichés ne change pas.
Par exemple lorsque je demande d'afficher les miroirs je ne devrais plus avoir la colonne "Focale", mais, par exemple, une colonne "Angle d'incidence".
Ces colonnes sont bien modifiées dans ma requête mais pas dans mon sous-formulaire...
Si quelqu'un a une idée... Merci d'avance
Voici le bout de code concerné (désolée si c'est pas tout propre, je ne suis pas une experte mais j'essaye de m'appliquer):
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 '-------------------------------Modification de la Requete R_ListeOptiques------------------------------------ ' Récupération des champs associés au type d'optique Set oRds = oDb.OpenRecordset(oString, dbOpenDynaset) oChamp = "Tbl_Optique.OptiqueId,Tbl_Optique.OptiqueNum, Tbl_Optique.Etat, Tbl_Optique.Localisation, Tbl_Fabriquants.FabricantNom, Tbl_TypeOptique.IdTypeOptique" oRds.MoveFirst While Not oRds.EOF oChamp = oChamp & ", Tbl_FabriquantReferences." & oRds.Fields("NomCaracteristique").Value oRds.MoveNext Wend 'Création de la chaine SQL oSQL = "SELECT " & oChamp oSQL = oSQL & " FROM Tbl_Fabriquants INNER JOIN (Tbl_TypeOptique INNER JOIN (((Tbl_FabriquantReferences INNER JOIN Tbl_FournisseurReference ON Tbl_FabriquantReferences.RefFabrId = Tbl_FournisseurReference.RefFabrId) INNER JOIN Tbl_LigneCommande ON Tbl_FournisseurReference.RefFournId = Tbl_LigneCommande.RefFournId) INNER JOIN Tbl_Optique ON (Tbl_LigneCommande.RefFournId = Tbl_Optique.RefFournId) AND (Tbl_LigneCommande.CommandeId = Tbl_Optique.CommandeId)) ON Tbl_TypeOptique.IdTypeOptique = Tbl_FabriquantReferences.IdTypeOptique) ON Tbl_Fabriquants.FabriquantId = Tbl_FabriquantReferences.FabriquantId" oSQL = oSQL & " WHERE Tbl_TypeOptique.IdTypeOptique = " & oNum oDb.QueryDefs("R_ListeOptiques").SQL = oSQL Me!sf_ListeOptiques.Form.RecordSource = "R_ListeOptiques" Me!sf_ListeOptiques.Requery Me!sf_ListeOptiques.Visible = True
Partager