Liste déroulante récalcitrante (classique ?) - VB/VBA/VBS - Programmation
Marsh Posté le 26-05-2009 à 01:33:36
En fait je viens de me rendre compte de quelque chose qui pourrait vous orienter :
Mon formulaire principal est au format Formulaire unique et le sous-formulaire(qui sont liés) est au format Feuille de données
J'ai essayé de passer le sous-formulaire au format Formulaire unique et là (miracle ? ou mystère non encore perçé) il n'y a plus de problème.
Le choix sélectionné dans la liste déroulante (mis à jour par la requête) est bien repris dans la zone de saisie.
Est-ce un bug du format Feuille de données ? ou comment peut-on régler le problème ?
Merci pour votre aide.
Marsh Posté le 27-12-2009 à 13:57:18
Bonjour à tous,
Je me permet de vous contacter afin d'avoir des réponses à mes interrogations. Je travail sur plusieurs exercices dont un qui bloque depuis trois jours. Vous l'aurez compris, cela porte sur VBA Excel 2003. [B]Méthode [/B]: Créer une liste déroulante avec en dessous un champs pouvant accueillir des images.
L'idée : Depuis la selection de l'info de la liste déroulante, l'image s'y rapportant s'affiche juste en dessous [B]automatiquement[/B].
Exemple : (Dans ma liste déroulante, j'ai des races de chiens, en choisissant le "berger allemand", l'image de berge allemand s'affiche juste en dessous.
J'ai mis en pièce jointe une maquette afin que vous ayez un aperçu de la forme que cela doit avoir.
http://cjoint.com/?mBnM4yM6cd
Help me please, je serai très reconnaissante à la personne qui me donnera une réponse concrète
Marsh Posté le 26-05-2009 à 00:52:18
Bonjour à tous,
J'ai un problème avec une liste déroulante qui ne veut pas se mettre à jour sous VBA/ACCESS 2007
J'ai un Formulaire Principale (FPrinc) avec un groupe d'option (GOption), un Sous-Formulaire (SForm) avec un contrôle en liste déroulante (ListD).
En fonction du choix de GOption je charge dans le RowSource de ListD une requête différente pour changer la liste de choix :
le code :
Private Sub T5M_perteFocus()
Dim stSQL As String
Dim lgNT5M As Long
lgNT5M = Me.C_TAC_NT5M ' récupération de la case cochée dans le Groupe d'option
Select Case lgNT5M ' sélection du code SQL correspondant
Case 1
stSQL = "SELECT T_MIL.C_MIL_NMIL, T_MIL.C_MIL_MIL " _
& "FROM T_MIL;"
Case 2
stSQL = "SELECT T_MTH.C_MTH_NMTH, T_MTH.C_MTH_MTH " _
& "FROM T_MTH;"
Case 3
stSQL = "SELECT T_MAC.C_MAC_NMAC, T_MAC.C_MAC_MAC " _
& "FROM T_MAC;"
Case 4
stSQL = "SELECT T_MAT.C_MAT_NMAT, T_MAT.C_MAT_MAT " _
& "FROM T_MAT;"
Case 5
stSQL = "SELECT T_MDO.C_MDO_NMDO, T_MDO.C_MDO_MDO " _
& "FROM T_MDO;"
End Select
Me.F2_RMI1.Form.C_RMI_NMIL.RowSource = stSQL ' Affection de la requête SQL au controle du sous-formulaire
End Sub
Cà marche bien, j'ai bien la bonne liste de choix.
Par contre, la valeur affichée ne correspond pas à la table sous-jacente sélectionnée dans la requete.
J 'ai essayé de forcer la mise à jour avec :
Me.F2_RMI1.Form.C_RMI_NMIL.Requery
et
Me.F2_RMI1.Requery
mais rien n'y fait :-(
Quelqu'un pourrait-il me donner une piste pour régler ce problème certainement assez classique !
Merci par avance de votre aide à tous