Votre question

[Access] Afficher contenu liste deroulante

Tags :
  • Mise à jour
  • Programmation
Dernière réponse : dans Programmation
1 Septembre 2008 15:12:47

Bonjour à tous,
Voila je débute sur Access.
J'ai une base de donnée avec un formulaire principal qui sert d'interface pour les utilisateurs, sur ce formulaire j'ai 2 liste deroulantes qui correspondent a la region du client et la 2eme a son departement. le departement depend de la region ( ex : Si je saisi PACA en region, je n'aurais que les departements se rattachant a cette region).
Le problème est que lorsque je navigue entre les différents clients, les regions sont bien affiché, mais pas les départements, j'ai une liste deroulante vide alors que dans la table le numero du departement à bien été enregistré.

Comment affiché ceci?

Merci d'avance

Autres pages sur : access afficher contenu liste deroulante

1 Septembre 2008 15:17:27

Salut,

Ton problème vient de la deuxième requête, celle relative à la deuxième liste déroulante.

N'aurais-tu pas un petit bout de code à montrer..?
1 Septembre 2008 15:47:44

Et ben tu vas rigoler mais je ne trouve pas ma requette qui me permetde recuperer les departements qui composent la region selectionnée
Contenus similaires
1 Septembre 2008 18:05:09

Salut, Rodillo85

Regarde dans la propriété "Contenu" de ta liste de départements et dis-nous ce qu'elle contient.

Bonne continuation
2 Septembre 2008 09:02:56

Voila ce que j'ai :

SELECT Iddep, dep, IDregion FROM Tabledep WHERE IDregion=22 ORDER BY dep;

pour info : dans ma table " Tabledep" j'ai l'identifiant d'un département, le libelé du departement, et l'identifiant de la region auquel le departement se rattache. le 22 correspond a la region du 1er client.
5 Septembre 2008 14:28:41

Salut, Rodillo85

Avec une requête de ce type, tu n'auras jamais que les département de la région 22. Si tu veux que cela soit dynamique, il faut changer le contenu de la liste (propriété "RowSource") par programme:

Private Sub ListeRegion_AfterUpdate()
Me.Controls("ListeDepartement").RowSource = "SELECT Iddep, dep, IDregion FROM Tabledep WHERE IDregion=" & Me.Controls("ListeRegion") & " ORDER BY dep"
Me.Controls("ListeDepartement").Requery
End Sub

Autre solution: utiliser une requête qui fasse référence à la liste déroulante des régions.

SELECT Iddep, dep, IDregion FROM Tabledep WHERE IDregion=Forms('TonForm').Controls('ListeRegion') ORDER BY dep

Dans ce cas, il faut quand même conserver une partie de code pour faire la mise à jour de la liste:

Private Sub ListeRegion_AfterUpdate()
Me.Controls("ListeDepartement").Requery
End Sub

A adapter avec le nom réel de tes listes et formulaires, bien sûr;)

Bonne continuation
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS