Bonjour à tous,
Après avoir utiliser un tuto du site sur les choix conditionnels et les listes déroulantes (sélectionner une otion et n'avoir par la suite que les options concernant ce choix), j'aimerai modifier dans un formulaire qui me sert à remplir différentes tables une liste déroulante qui, avec le code actuel ci-dessous, m'oblige à cliquer sur le critère à valider (en occurrence une année ici).
En effet, je suis bien arrivé à faire en sorte que mes listes déroulantes n'affichent que des choix possible en fonction du choix précédents. Mais pour l'année je souhaiterai que la personne qui va remplir les tables via le formulaire de saisie n'ait même plus à cliquer sur l'année pour valider le choix et donc remplir les tables derrières tout en conservant l'affichage de celle-ci pour contrôler malgré tout les infos enregistrées dans la base.
L'année, en effet, est conditionnée par le choix d'un autre critère en amont.
En espérant avoir été clair dans mes explications et mon souhait, voici le code (qui fonctionne mais qui oblige encore à cliquer sur une année pour valider le choix alors qu'il n'y a finalement qu'une seule année possible en fonction du critère précédent) que j'utilise:
Merci d'avance pour vos idées et suggestions.
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 Private Sub cmbOperations_AfterUpdate() Dim lngIDCat As Long Dim SQL As String '' Vérifie que l'on a cliqué sur une Opération pour éviter le NULL If Not IsNumeric(Me!cmbOperations) Then Exit Sub '' Affecte la valeur de IDOperation à la variable lngIDCat lngIDCat = Me!cmbOperations '' Construit la chaîne SQL avec le métier concerné SQL = "SELECT TBLOperations.IDAnnee, TBLAnnee.Annee FROM TBLOperations INNER JOIN TBLAnnee ON TBLOperations.IDAnnee=TBLAnnee.IDAnnee WHERE IDOperation = " & lngIDCat & " ORDER BY TBLAnnee.Annee" '' Affecte la chaîne SQL à la liste des Opérations Annee.RowSource = SQL '' Déverrouille la liste des Opérations Annee.Enabled = True '' Donne le focus la liste des Opérations Annee.SetFocus '' Déroule la liste des Opérations Annee.Dropdown End Sub
PS: la base est sous Access 2007
Partager