[Access VBA] Afficher liste déroulante
Fermé
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
-
11 juin 2008 à 00:08
Le correcteur - 27 avril 2009 à 19:42
Le correcteur - 27 avril 2009 à 19:42
A voir également:
- [Access VBA] Afficher liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
- Supprimer liste déroulante excel - Forum Excel
- Afficher appdata - Guide
4 réponses
LatelyGeek
Messages postés
1758
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
5 janvier 2023
550
11 juin 2008 à 07:56
11 juin 2008 à 07:56
Je veux bien aider qui on veut, mais DE GRACE avant d'employer des termes, vérifie ce qu'ils signifient!!! Je passe un temps fou à essayer de comprendre, parce que là par exemple je pense que tu appelles "Interface graphique" l'Assistant Liste de choix.... mais j'ai mis longtemps à trouver.
Je préfère qu'on me dise "le truc qui s'ouvre quand je double clique", ou "ajouter", ou "des lignes et des colonnes", même des "cases", plutôt que base de données, interface graphique, module, implémenter, incrémenter... Parce que ces mots veulent dire quelque chose, mais pas ce pourquoi ils sont employés dans les posts. Je perds un temps fou!!!
Il faut chercher comment ça s'appelle, apprendre ce terme et l'employer.
Voilà, j'ai passé ma mauvaise humeur du matin.
--------
Alors. Le fait que tu aies employé l'Assistant empêche le bon fonctionnement de tes listes, effectivement. C'est pas grand chose mais ça change tout.
En mode Création, affaiche la feuille de propriétés et va dans les sources de tes listes.
Première zone: Modifiable37. Elle contient je suppose (Dans la zone Source de la feuille de propriétés)
SELECT Dossier.NoDossier, Dossier.NomDossier FROM Dossier;
C'est pas "sur changement" qu'il faut mettre Me.Modifiable45.Requery, c'est après MAJ (Donc une fois que tu as sélectionné une valeur)
Deuxième zone: Modifiable45. Elle contient
SELECT SousDossier.NoDossier, SousDossier.NomSousDossier FROM SousDossier WHERE SousDossier.NoDossier=Forms!Administration.Modifiable37;
C'est là que ça ne fonctionne pas. Il manque SousDossier.NoSousDossier. Parce que sinon c'est aussi le numéroe de DOSSIER qui est stocké dans ta zone SousDossier.
Après MAJ, il doit y avoir Me! ModifiableXX.Requery (Le GL)
Et dans la Source de la liste ModifiableXX qui te permet de choisir le GL, il doit y avoir un truc genre
SELECT GL.NoGL, GL.NomGL FROM GL WHERE GL.NoSousDossier=Forms!Administration.Modifiable45;
Je préfère qu'on me dise "le truc qui s'ouvre quand je double clique", ou "ajouter", ou "des lignes et des colonnes", même des "cases", plutôt que base de données, interface graphique, module, implémenter, incrémenter... Parce que ces mots veulent dire quelque chose, mais pas ce pourquoi ils sont employés dans les posts. Je perds un temps fou!!!
Il faut chercher comment ça s'appelle, apprendre ce terme et l'employer.
Voilà, j'ai passé ma mauvaise humeur du matin.
--------
Alors. Le fait que tu aies employé l'Assistant empêche le bon fonctionnement de tes listes, effectivement. C'est pas grand chose mais ça change tout.
En mode Création, affaiche la feuille de propriétés et va dans les sources de tes listes.
Première zone: Modifiable37. Elle contient je suppose (Dans la zone Source de la feuille de propriétés)
SELECT Dossier.NoDossier, Dossier.NomDossier FROM Dossier;
C'est pas "sur changement" qu'il faut mettre Me.Modifiable45.Requery, c'est après MAJ (Donc une fois que tu as sélectionné une valeur)
Deuxième zone: Modifiable45. Elle contient
SELECT SousDossier.NoDossier, SousDossier.NomSousDossier FROM SousDossier WHERE SousDossier.NoDossier=Forms!Administration.Modifiable37;
C'est là que ça ne fonctionne pas. Il manque SousDossier.NoSousDossier. Parce que sinon c'est aussi le numéroe de DOSSIER qui est stocké dans ta zone SousDossier.
Après MAJ, il doit y avoir Me! ModifiableXX.Requery (Le GL)
Et dans la Source de la liste ModifiableXX qui te permet de choisir le GL, il doit y avoir un truc genre
SELECT GL.NoGL, GL.NomGL FROM GL WHERE GL.NoSousDossier=Forms!Administration.Modifiable45;
LatelyGeek
Messages postés
1758
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
5 janvier 2023
550
11 juin 2008 à 00:16
11 juin 2008 à 00:16
Je vois ce que tu veux faire, mais je ne comprends pas le problème.
La liste Modifiable37 (Dossiers) effectue un Requery de la Modifiable45 (SousDossiers).
Logiquement, si la Modifiable45 effectue un requery de la modifiableXX (GL) ça devrait fonctionner.
Tes explications deviennent moins claires juste à ce moment là...
Du coup, une fois que j'ai modifié la LD sous-dossier avec une autre élément, il m'est impossible de rechanger d'élément...
C'est là que je ne comprends plus de quoi tu parles.
Si tu affiches le dossier DUPONT, sous-dossier 2008, tu as les GL de Dupont 2008, et si tu choisis 2007, tu as ses GL 2007. C'est pas ça qui se produit??? Ou c'est pas ça qui devrait se produire?
La liste Modifiable37 (Dossiers) effectue un Requery de la Modifiable45 (SousDossiers).
Logiquement, si la Modifiable45 effectue un requery de la modifiableXX (GL) ça devrait fonctionner.
Tes explications deviennent moins claires juste à ce moment là...
Du coup, une fois que j'ai modifié la LD sous-dossier avec une autre élément, il m'est impossible de rechanger d'élément...
C'est là que je ne comprends plus de quoi tu parles.
Si tu affiches le dossier DUPONT, sous-dossier 2008, tu as les GL de Dupont 2008, et si tu choisis 2007, tu as ses GL 2007. C'est pas ça qui se produit??? Ou c'est pas ça qui devrait se produire?
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
208
11 juin 2008 à 00:21
11 juin 2008 à 00:21
Bonsoir,
Le problème est que quand je clique sur la zone de liste sous-dossier, c'est la requête suivante qui est exécuté :
SELECT SousDossier.NoDossier, SousDossier.NomSousDossier FROM SousDossier WHERE SousDossier.NoDossier=Forms!Administration.Modifiable37;
C'est la même requête quand quand je clique sur un dossier pour le changer....
Le problème est que quand je clique sur la zone de liste sous-dossier, c'est la requête suivante qui est exécuté :
SELECT SousDossier.NoDossier, SousDossier.NomSousDossier FROM SousDossier WHERE SousDossier.NoDossier=Forms!Administration.Modifiable37;
C'est la même requête quand quand je clique sur un dossier pour le changer....
Dédé86
Messages postés
682
Date d'inscription
vendredi 23 décembre 2005
Statut
Membre
Dernière intervention
14 mars 2017
208
11 juin 2008 à 00:35
11 juin 2008 à 00:35
Peut-être ne suis-je pas assez claire désolé :
La requête de ma 1ère liste déroulante (Dossier) est l'affichage des dossiers. Quand je clique sur un élément de la liste (dossier1, dossier2...) je déclenche la reqûete qui est stocké dans la liste dérouante Sous-Dossier (qui est stocké dans l'interface graphique du contrôle : => clique droit, menu propriété, onglet Données il y a une ligne Contenu et c'est là que je place la requête à effectuer. Donc, quand je clique sur la liste déroulante Sous-Dossier, celle-ci reste bloqué sur l'élément que j'ai séléctionné (exemple Sous-Dossier 3). Il m'est impossible de modifier le Sous-Dossier... Je suppose que je n'aurai pas dû passer par l'interface graphique du contrôle pour exécuter la requête et utiliser VBA... mais je ne sais pas trop comment faire.
Pouvez-vous m'aider ?
Merci d'avance
La requête de ma 1ère liste déroulante (Dossier) est l'affichage des dossiers. Quand je clique sur un élément de la liste (dossier1, dossier2...) je déclenche la reqûete qui est stocké dans la liste dérouante Sous-Dossier (qui est stocké dans l'interface graphique du contrôle : => clique droit, menu propriété, onglet Données il y a une ligne Contenu et c'est là que je place la requête à effectuer. Donc, quand je clique sur la liste déroulante Sous-Dossier, celle-ci reste bloqué sur l'élément que j'ai séléctionné (exemple Sous-Dossier 3). Il m'est impossible de modifier le Sous-Dossier... Je suppose que je n'aurai pas dû passer par l'interface graphique du contrôle pour exécuter la requête et utiliser VBA... mais je ne sais pas trop comment faire.
Pouvez-vous m'aider ?
Merci d'avance
11 juin 2008 à 15:17
A plus tard.